异常

来源:互联网 发布:逆希尔伯特矩阵 编辑:程序博客网 时间:2024/05/17 01:55

异常

错误和异常的区别

异常

  • 在程序执行的过程中产生的问题
  • 编译期异常(检查异常)
  • 运行时错误

错误

  • 语法错误(编译期)
  • 运行时错误(不报错,硬件问题和环境问题)
  • 逻辑错误(算法问题,运行期)

运行时异常的处理方式

  • 修改源代码,将异常避免掉
  • 使用异常捕获机制,(try,catch)

try

正常逻辑下可以出现异常的代码

catch

异常处理语句

  • 当try后面有多个catch捕获的异常有几成关系是,必须遵照子类catch写前面,父类catch写后面;

finally

  • 不管是否发生异常,都要执行的代码,往往是资源的回收,内存的清理,通道的关闭等都要用:

编译时异常的处理方式

指一个方法在声明部分书写throws ~~Exception;以至于调用者在编译器搜到警告,(编译不通过)强制要求调用者警用处理

  • throws后面是异常类名,而且可以是多个类名(逗号隔开),表明方法有可能发生异常;
  • throw后面跟的是异常对象,只能跟一个对象,一旦执行到throw这句代码,一定会发生异常
  • 子类重写方法中不能比父类被重写方法抛出更多的异常(这里的更多表示的是范围)
  • 如果throw后面的异常对象是编译时异常,那么该方法声明跟后面必须要throws
  • 如果throw后面的异常对象是运行时异常,那么该方法声明跟后面可以不需要加throws
0 0