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:程序本身可以处理的异常。异常处理通常针对这种类

java 中的异常工具类 try-catch-finally_第1张图片

2.异常处理机制:

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

java 中的异常工具类 try-catch-finally_第2张图片

java 中的异常工具类 try-catch-finally_第3张图片                     java 中的异常工具类 try-catch-finally_第4张图片

 

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

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

3.1. try-catch-finally

java 中的异常工具类 try-catch-finally_第6张图片

注意: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();//输出的信息在控制台打印的位置不固定,这个不用关心

java 中的异常工具类 try-catch-finally_第7张图片

java 中的异常工具类 try-catch-finally_第8张图片

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

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

java 中的异常工具类 try-catch-finally_第9张图片

try catch finalluy 的多种组合:

java 中的异常工具类 try-catch-finally_第10张图片

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

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

java 中的异常工具类 try-catch-finally_第11张图片

java 中的异常工具类 try-catch-finally_第12张图片java 中的异常工具类 try-catch-finally_第13张图片

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

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

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

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

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

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

java 中的异常工具类 try-catch-finally_第14张图片

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

java 中的异常工具类 try-catch-finally_第15张图片

java 中的异常工具类 try-catch-finally_第16张图片

5.例题:

java 中的异常工具类 try-catch-finally_第17张图片

java 中的异常工具类 try-catch-finally_第18张图片

你可能感兴趣的:(JAVA,java,异常处理)