异常类(总结)

                              #异常

关于throw类
Error:错误 代码需要重写
Exception:可以通过异常的处理代码来处理
注意
Exception:属于编译时期异常–>代码一旦写上去,自动编译之后,直接报错
RuntimeException:属于运行期间的异常–>代码写上去,没有语法错误,不会报错,但是一旦运行就出错
关于异常的创建方面
throw new 异常对象
如果我们自己不创建对象,如果出现了异常,那么就是jvm自己创建,并抛出,如果没有处理,jvm处理
如果我们自己创建了异常对象,那么jvm就不自动创建,自己创建出来,没有处理,还是jvm处理
关于异常处理方面
异常处理方式一:throws -->放在方法声明上
throws是一个异常对象,抛给main方法了,如果main方法没有手动throws给jvm,那么就是自动的
throws处理异常,同时处理多个异常对象
Objects
public static T requireNonNull(T obj){
if(obj == null)
throws new NullPointerException
return obj;
}
异常处理方式二
try…catch
格式
try{
可能出现的异常代码
}catch(异常对象 对象名){
处理异常
}
注意:一般catch是直接将异常信息打印出来,或者将异常信息打印到日志文件
注意通用的格式:
不管是throws还是try… catch,我们最简单的方式就是直接处理Exception
try…catch,同时捕获多个异常对象
try{
可能出现的异常代码
}catch(异常对象1 对象名){
处理异常
}catch(异常对象2 对象名){
处理异常
}
注意
1,如果我们嫌弃多个catch麻烦,那么我们直接一个catch Exception
2,我们在使用多catch的情况下,要求先抓子类的,在抓父类的,但是没必要,我们直接catch一个父类异常
关于finally的用法
finally:都是跟try…catch一起使用
格式
try{
可能出现的异常代码
}catch(异常对象 对象名){
处理异常
}finally{
一定会执行的代码
}
使用场景:关闭资源
二种异常处理的区别
throws:直接往上抛,自己不做具体的处理,抛给调用者(不要一味的往上抛)
try…catch:不交给虚拟机(jvm)了,我们自己处理(一般try…catch都是统一处理的)
编译时期异常和运行时期异常的处理时机
运行时期异常:不用代码处理,证明你的代码写的有问题,自己改去吧
编译时期异常:一般我们直接throws或者try…catch
关于异常方面的三个方法
—public String getMessage():获取异常描述信息,原因(提示给用户的时候,就提示错误原因)
—public String toString():获取异常的类型和异常的描述信息(不用)
—public void printStackTrace():打印异常的跟踪栈信息并输出到控制台。–>常用
异常在子父类继承关系的情况下的注意事项(方法重写方面)
1,父类中的方法,抛了异常,那么子类重写之后用抛异常吗?
解答:可抛可不抛,但是如果抛了,要是父类方法抛的异常的子类或者同类
2,如果父类中的方法,没有抛异常,子类重写之后用抛吗?
解答:不用抛

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值