Java中的异常

Java中的异常

Throwable

Java中把异常当作对象来处理,并定义了异常的基类,java.lang.Throwable作为所有异常的基类。

Error
  1. VirtulMachineError

    • StackOverFlowError

    • OutofMemoryError

  2. AWTError

Exception
  1. IOException

    • EOFException

    • FileNotFoundException

  2. RuntimeException

    • ArithmeticException

    • MissingResourceException

    • ClassNotFoundException

    • NullPointerException

    • IllegalArgumentException

    • ArrayIndexOutOfBoundsException

    • UnkownTypeException

 

异常的简单分类

  • 检查性异常

    最具代表性的是用户错误或问题引起的异常,这是程序员无法预见的。例如打开一个不存在的文件。

    这些异常在编译时不能被简单地忽略

  • 运行时异常

    可能被程序员避免的异常

    运行时异常可以在编译时被忽略

  • 错误

    错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,这在编译阶段也检查不到

 

异常处理机制

抛出异常
捕获异常
异常处理五个关键字

try、 catch、 finally、 throw、 throws

 

实际开发经验总结

  • 针对运行时异常,采用逻辑去合理规避同时辅助try-catch处理

  • 在多重catch块后面,可以加一个catch(Exception)来捕获可能被遗漏的异常

  • 对于不确定的代码,也可以加上try-catch来处理潜在的异常情况

  • 尽量去处理异常,切记只是简单的调用printStackTrace()去打印输出

  • 根据具体的业务场景和异常类型去决定如何处理异常

  • 尽量添加finally语句块去释放占用的资源

posted @ 2021-04-09 15:15  木木彡坚持  阅读(53)  评论(0)    收藏  举报