您的位置:首页 > 其它

异常

2020-04-24 11:03 155 查看

1、Throwable:
①Exception编译期异常;
包括RuntimeException运行期异常;
②Error错误;
③异常处理步骤

2、throw关键字
作用:在指定的方法中抛出指定的异常。
格式:throw new xxxException(“产生异常的原因”);
注意:
①必须写在方法的内部;
②new的是Exception或它的子类对象
③抛出后,必须处理这个指定的异常
A:如果是RuntimeException或者是它的子类对象,可以不处理,默认交给JVM(打印异常对象,中断程序);
B:编译期异常,要么throws,要么try……catch

3、Objects非空判断
Objects的静态方法requireNonNull查看指定的引用对象是不是null。

private static void methon(Object obj) {
Objects.requireNonNull(obj,"传递的是null");
}

4、throws关键字
作用:第一种处理异常的方式,把异常对象声明 抛出给 方法的调用者处理,最终给到JVM处理(中断)
格式:在方法声明时使用
注意:
①必须写在方法声明处;
②声明的异常必须是Exception或者它的子类;
③方法内部抛出多个异常,throws必须声明多个异常,(声明了父类可以不声明子类)
④调用声明抛出异常的方法,必须处理声明的异常,要么继续throws,交给调用者处理,要么try……catch自己处理。

5、try……catch
处理异常的的第二种方式,自己处理。
格式:
try {
可能产生异常的代码
}catch(定义一个异常的变量,接收try中抛出的异常对象){
一般会把异常信息记录到日志中
}catch……
finally{
……
}

注意:①catch可以多个;
②finally不能单独使用,一般用于资源回收

6、Throwalbe类中3个异常处理的方法:
①getMessage()
返回此 throwable 的详细消息字符串
②String toString()
返回此 throwable 的简短描述
③void printStackTrace()
将此 throwable 及其追踪输出至标准错误流。

7、异常捕获处理
①多个异常分别处理;
②多个异常一次捕获,多次处理;
注意的是,catch定义的异常变量,如果有子父类关系,那子类的异常变量必须写在上面,否则报错。原因是多态,下边是子类的话没有用了。
③多个异常一次捕获一次处理。

8、子父类异常,父类异常是什么样,子类抛出的异常不能超过父类。
父类方法没抛出异常,子类重写父类方法时也不可抛出,只能捕获处理。

9、自定义异常类
①跟定义类一样,要继承Exception或者 RuntimeException,处理方法跟自带的一样。
添加空参数构造方法,添加一个带异常信息的构造方法。
②注意:类名一般以Exception结尾;

  • 点赞
  • 收藏
  • 分享
  • 文章举报
蔴瓜 发布了13 篇原创文章 · 获赞 0 · 访问量 250 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: