面试篇(JavaSE):异常部分
结构
异常本身也是一个类,也面向对象。
Throwable 所有异常的根
error 错误
Exception 异常
error 和 Exception
error
系统错误和程序不必处理的异常,有可能恢复但很困难,例如内存溢出等。
Exception
程序正常运行中,可以预料的意外情况,可以被捕获进行相应处理。
除了RunTimeException下的子类其他的都是便编译异常。
异常处理
try: 将可能出现问题的代码进行包裹。
catch: 捕获异常。
finally: 指不管代码是否出现异常都必须执行。
throw: 抛出异常 --- 在业务逻辑中(方法中)。一定出现。
thows: 声明异常 --- 在方法上进行声明(该方法的内部可能出现那些异常)。可能出现。
区别
final 修饰符,修饰类、方法和变量等。
finally 异常处理始终执行的部分。
finalize 对象被回收掉用的一个方法。
常见异常
java.lang.NullPointerException 空指针异常;出现原因:调用了未经初始化的对象或者是不存在的对象。
java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和路径加载错误; 通常都是程序试图通过字符串来加载某个类时可能引发异常。
java.lang.NumberFormatException 字符串转换为数字异常;出现原因:字符型数据中包含非 数字型字符。
java.lang.IndexOutOfBoundsException 数组角标越界异常,常见于操作数组对象时发生。
java.lang.IllegalArgumentException 方法传递参数错误。
java.lang.ClassCastException 数据类型转换异常。
... ...
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
Yida!
喜欢就支持一下吧