Java基础--异常以及异常处理

异常

出现非正常情况,使JVM非正常停止

异常也可以说成是一个

Throwable

Eeception:编译期异常                                               Error:错误

RuntimeEeception:运行期异常

过程:

异常会被new一个对象(产生异常的内容,原因和位置)

原方法若无try...catch JVM将异常抛给调用者main方法,main方法无法解决,则抛给调用者JVM,JVM将(内容,原因,位置)红色字体打印出来并中断处理

异常处理

1.throw

作用:在指定方法中抛出指定的异常

格式:throw new XXXEeception(“异常长生的原因”)

(RuntimeEeception:运行期异常都默认交给JVM出处理)

Object非空判断‘

源码public static<T> T requireNonNull(T obj){

      if(obj==null){throw new NullPointerEeception();

return obj;

}

声明异常throw

(交给别人来处理)

作用:方法内部异常,把异常对象声明抛给方法的调用者处理

(throw 要在方法声明处写,抛出多少异常就声明多少异常)

2.try...catch

(自己处理)

格式:

try{

   可能产生异常的代码

}catch(定义一个异常变量){

    处理逻辑

}

另:

(1 )多个异常,分别处理

     多个异常,一次捕获,多次处理:异常变量中父类要在子类的上边,否则报错

     多个异常,一次捕获,一次处理

 (2)父类异常什么样,子类异常也什么样

     父类抛出异常,子类可抛出异常/异常的子类/不抛出异常

     父类未抛出异常,子类不可抛出异常,只能捕获处理

 (3)finally中不要有return语句,否则会一直返回finally的结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值