Java中异常处理
1.try catch语句块的使用
出现异常后使用try-catch语句块进行处理,当try代码块中的语句发生异常时,程序机会转到catch代码块中执行,执行完catch代码块后,才会执行catch代码块后的程序
用法:
/*
- 捕捉异常语法
- try{
-
被捕捉的代码
-
}catch(异常类型 e){
-
对异常的处理
-
}
*/
例子:
public class trycatch {
public static void main(String[] args) {
try {
int a= 1/0;
}catch(ArithmeticException e){
System.out.println("数据异常请管理员及时处理");
}
}
}
2.多重异常处理
用法:
/*
- try {
//语句1
//语句2
}catch(some Exception1 e) {
}
catch(some Exception2 e) {
}
catch(some Exception3 e){
}
}
*/
例子:
public class 多重异常 {
public static void main(String[] args) {
try {
// int a = 1/0;
Object obj =null;
obj.hashCode();//调用此方法
}catch(NullPointerException e) {
System.out.println("空指针异常");
}
catch(ArithmeticException e) {
System.out.println("发生了算数异常");
}
catch(ClassCastException e){
System.out.println("发生了类转换异常");
}
}
}
3.异常的中断处理
在异常的前面出现了异常,就会发生中断,后面的程序就不会执行
用法:
扫描二维码关注公众号,回复:
9271957 查看本文章
- try{
- System.out.println(“第一行”);
- int num =1/0;
- System.out.println(“第二行”);
- System.out.println(“第三行”);
- }catch(Exception e){
- e.printSrackTrace();
- }
*/
例子:
public class 异常的中断机制 {
public static void main(String[] args) {
for(int i=0;i<5;i++){
try {
System.out.println("第"+i+"行");
int a = 1/i;
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
4.finally语句块
finally块一般都会执行,它相当于一个万能的保险
注意:
有四种情况finally块不会执行
- 1.fina块中发生异常
- 2.在前面使用了System.exit()退出程序
- 3.程序所在的线程死亡
- 4.关闭CPU
用法:
try{ - 被捕获的代码
- }catch(异常类型 e){
-
对异常的处理
-
}finally{
-
最后一定会执行的代码
-
}
*/
举例:
public class finally代码块 {
public static void main(String[] args) {
try{
System.out.println("打开了一个连接池");
int a= 1/0;
System.out.println("通过连接池读取数据");
}catch(Exception e){
e.printStackTrace();
}finally {
System.out.println("关闭连接池");
}
}
}