Java异常处理

异常处理

try{ }包围可能出现异常的语句,catch{ }包含异常处理语句,一旦出现异常就立即结束try{ }块,执行catch{ }块。e.printStackTrace()会打印出方法调用的路径。

如果抛出多个异常就用多个catch{ }分别捕获;也可用一个catch{ }块,但不能判断是哪种类型,需要用instanceof进行类型判断。

catch (FileNotFoundException | ParseException e) {

    if (e instanceof FileNotFoundException)

        System.out.println("d:/LOL.exe不存在");

    if (e instanceof ParseException)

        System.out.println("日期格式解析错误");
}

文件未找到异常FileNotFoundException是Exception的子类,可以用父类代替子类。

无论是否出现异常,都会执行finally{ }中的语句。

如果函数的连环调用,则在一个函数中出现的异常有两种处理方法,一是try{ }块包围,二是用throws抛出,使调用该函数的函数来处理,处理方法仍是这两种。

可以在方法内抛出FileNotFoundException,声明抛出Exception,捕获Throwable。

throws出现在方法声明上,表示方法可能抛出异常。throw出现在方法体内,一定会抛出一个异常。

 

try{ }catch{ }finally{ }中的return语句最终返回的值是什么?

异常分类

可查异常:必须进行处理的异常,不处理不能通过编译。如FileNotFoundException。

运行时异常RuntimeException:不必用try{ }catch{ }处理的异常,当然也可以用;可以通过编译。

常见运行时异常:除数不能为0异常:ArithmeticException ,下标越界异常:ArrayIndexOutOfBoundsException ,空指针异常:NullPointerException 。

Error和Exception都继承Throwable类,Error是很重大的错误,如内存不足、栈溢出等。

自定义异常

entends Exception。

自定义异常需要显式处理。

异常类和其他类一样就有类的特质,可以有属性和方法。

因为间接继承了throwable类,所以有printStackTrace()方法。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值