结构

异常本身也是一个类,也面向对象。

  • Throwable 所有异常的根

    • error 错误

    • Exception 异常

error 和 Exception

error

系统错误和程序不必处理的异常,有可能恢复但很困难,例如内存溢出等。

Exception

程序正常运行中,可以预料的意外情况,可以被捕获进行相应处理。

除了RunTimeException下的子类其他的都是便编译异常。

异常处理

  • try: 将可能出现问题的代码进行包裹。

  • catch: 捕获异常。

  • finally: 指不管代码是否出现异常都必须执行。

  • throw: 抛出异常 --- 在业务逻辑中(方法中)。一定出现。

  • thows: 声明异常 --- 在方法上进行声明(该方法的内部可能出现那些异常)。可能出现。

区别

  • final 修饰符,修饰类、方法和变量等。

  • finally 异常处理始终执行的部分。

  • finalize 对象被回收掉用的一个方法。

常见异常

  1. java.lang.NullPointerException 空指针异常;出现原因:调用了未经初始化的对象或者是不存在的对象。

  2. java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和路径加载错误; 通常都是程序试图通过字符串来加载某个类时可能引发异常。

  3. java.lang.NumberFormatException 字符串转换为数字异常;出现原因:字符型数据中包含非 数字型字符。

  4. java.lang.IndexOutOfBoundsException 数组角标越界异常,常见于操作数组对象时发生。

  5. java.lang.IllegalArgumentException 方法传递参数错误。

  6. java.lang.ClassCastException 数据类型转换异常。

    ... ...

文章作者: 已删除用户
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yida
Mark Interview
喜欢就支持一下吧