Java中常见异常处理

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.异常的中断处理
在异常的前面出现了异常,就会发生中断,后面的程序就不会执行
用法:

  • 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("关闭连接池");
		}
	}

}
发布了17 篇原创文章 · 获赞 10 · 访问量 1477

猜你喜欢

转载自blog.csdn.net/qq_42724864/article/details/104354296