Java后端程序员面经(1-2. Java基础之异常篇)

说明

本文主要基于面试中碰到的问题进行总结分析,可能不全。

分类

check和uncheck
1. check
    1-1. 表示无效,不是程序中可以预测的。比如无效的用户输入,文件不存在,网络或者数据库链接错误
    1-2. 必须在代码中显式地处理。需要try catch处理或throws声明抛出异常
    1-3. Exception自己,以及其子类中除了 RuntimeException之外的类
    1-4. 在编译的时候, Java的编译器会强制你处理

2. uncheck
    2-1. 表示错误,程序的逻辑错误
    2-2. 不需要在代码中显式地捕获unchecked异常做处理
    2-3. RuntimeException + Error 和其子类
    2-4. 编译器并不会要求你处理
Throwable异常的始祖,直接子类Error、Exception
1. Error
    1-1. 仅在Java虚拟机中发生动态连接失败或其它的定位失败的时候抛出一个Error对象
    1-2. 一般程序不用捕捉或抛出Error对象,即uncheck
    1-3. 大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题
    1-4. 程序无法处理的错误,表示运行应用程序中较严重问题
    1-5. Error是一种系统内部的错误,这种错误不像Exception一样是可能是程序和业务上的错误是可以恢复的,一般不由应用程序catch并处理
2. Exception
    2-1. 程序本身可以处理的异常
    2-2. 重要的子类:RuntimeException,那些可能在 Java 虚拟机正常运行期间抛出的异常的超类
        2-2-1. 编译器不会检查RuntimeException异常。例如,除数为零时,抛出ArithmeticException异常。
        2-2-2. 如果代码会产生RuntimeException异常,则需要通过修改代码进行避免。例如,若会发生除数为零的情况,则需要通过代码避免该情况的发生!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值