java 中的异常工具类 try-catch-finally

目录

java 中的异常工具类

1.异常分类:

2.异常处理机制:

3.异常处理方法分类try-catch-finallythrowthrows

try-catch-finaly 与 throw throws 的区别主要是:try-catch-finaly发现的异常自己在方法内处理,throw throws则是把可能的异常抛出,在调用的他的时候再去检测和处理发生的异常​

3.1. try-catch-finally

4. 异常处理中用 return和System.exit()

4.1. return:结束当前代码,带回返回值,但无法终止finally语句的执行

4.2 .Syetem.exit() 可以终止finally语句的执行

4.实际应用中的经验与总结

5.例题:


注意:1. finally:无论是否发生异常代码总能执行,及就算没有异常finally内的语句会执行,发生异常执行了catch语句中的内容后finally中的语句也会执行。多个catch语句,直执行一个。

           2. return 语句无法终止finally的执行,而System.exit()可以

java 中的异常工具类

什么是异常:在程序运行过程中,意外发生的情况,背离我们程序本身的意图的表现,都可以理解为异常。
编译时的错误编译器可以帮忙检查提示(像多大括号,少个分号之类的),运行时的错误编译器就检查不到了,就需要异常工具类来处理了。
运行期间错误举例:


1.异常分类:

Throwable(异常根类)
Error及其子类产生的异常:虚拟机错误、内存溢出、线程死锁
Excepetion:程序本身可以处理的异常。异常处理通常针对这种类

2.异常处理机制:

1、抛出异常 2、捕获异常

                     

 

3.异常处理方法分类
try-catch-finally
throw
throws

try-catch-finaly 与 throw throws 的区别主要是:try-catch-finaly发现的异常自己在方法内处理,throw throws则是把可能的异常抛出,在调用的他的时候再去检测和处理发生的异常

3.1. try-catch-finally

注意:finally:无论是否发生异常代码总能执行,及就算没有异常finally内的语句会执行,发生异常执行了catch语句中的内容后finally中的语句也会执行

try-catch-finally
try:用于捕获异常
catch:用于处理try捕获到的异常
finally:无论是否发生异常代码总能执行

try 块后可接零个或者多个catch 块,如果没有catch块,则必须跟一个finally块
try 必须要跟 finally或者catch组合使用,不能单独使用
错误信息打印输出:
catch(Exception s){ s.printStackTrace();//这个语句是用来输出异常的位置和异常类型,(输出的信息在控制台打印的位置不固定)
try{
//这里面是可能出错的代码
}catch(Exception s){
s.printStackTrace();//这个语句是用来输出异常的位置和异常类型,(输出的信息在控制台打印的位置不固定)
//使用catch捕获try里可能出现的异常,(Exception s)是异常的类型
//捕获异常后,语句块执行
}finally {
//这里的代码块无论是否捕获都会执行
}

注意:s.printStackTrace();//输出的信息在控制台打印的位置不固定,这个不用关心

一个try 可以跟多个catch异常处理,注意所跟的多个catch中,不能出现同类型异常;

在跟多catch时,最后一定要加一个父类异常Exception,可以最终前面子类异常处理中无法捕获的异常信息,来防止漏网之鱼,增加安全性,同无参构造一样; 父类Exception catch块必须放在最后面;

try catch finalluy 的多种组合:

4. 异常处理中用 return和System,exit()

4.1. return:结束当前代码,带回返回值,但无法终止finally语句的执行

4.2 .Syetem.exit() 可以终止finally语句的执行

Syetem.exit()只要写finally前面,就不会再去执行finally语句。

终止当前正在运行的虚拟机

System.exit(1) 表示异常导致的程序终止

System.exit(0) 表示程序正常终止

参数只要非0,就表示异常终止虚拟机

4.实际应用中的经验与总结

5.例题:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值