异常处理

一、异常处理方式

抓抛模型:

  • 过程一,抛:程序在正常执行的过程中,一旦出现异常,就会在异常代码出生成对应异常类的对象,并将此对象抛出

             一旦抛出对象以后,其后的代码不再执行

  • 过程二,抓:可以理解为异常处理的方式,①try-catch-finally  ②throws + 异常类型

1.try-catch-finally

  • try里面写“可能”出现异常的代码,一旦出现异常,就生成对应异常类的对象,其后面的代码不再执行,就会蹦到这个异常类对象匹配的catch里面去执行,然后执行finally里面的代码。
  • finally是一定会执行的,是可选的,里面一般写的是资源的关闭操作等等。
  • 小提示:若把变量声明并且定义在try里面,那么这个变量在外面可能就用不了了,所以我们需要把变量声明在try外面,然后在try里面赋值即可。
  • catch中的异常类型如果没有子父类关系,则谁声明在上,谁声明在下无所谓。

         catch中的异常类型如果满足子父类关系,则要求子类一定声明在父类的上面。否则,报错

  • 常用的异常对家处理的方式:String  getMessage()     printStackTrace()
  • 运行时异常一般不进行处理,编译时异常一定要处理

 

 

2.throws + 异常类型

这种方式是将异常抛出去,不真正将异常进行处理掉,而是由调用该方法的方法去处理这个异常。

 

二、手动抛出异常 (throw + new一个异常类的对象  RuntimeException或者Exception)

上诉的异常抛出都是系统自动的,我们如果想手动抛出异常,就需要使用throw 。

手动抛出的异常也需要在异常的方法内进行异常处理(两种方式)。

但是如果是new的一个运行时异常,自己不进行处理。

 

三、自定义异常类

1.定义的类继承于现有的异常体系结构(RuntimeException或者Exception)

2.提供全局常量:serialVersionUID

3.提供重载构造器

 

posted @ 2022-04-01 13:47  陈浩威  阅读(75)  评论(0)    收藏  举报