程序中的异常以及try catch 处理异常的简单使用

异常:程序运行期间出现的问题

​ Throwable,所有错译或异常的父类,位于java.lang包

​ 1. Error:(错误)

​ 2. Exception:(异常)

1.运行时异常:(RunTimeException)

​	代码运行后才会出现的
例如:
​	1.空指针异常:java.lang.NullPointerException

​	2.数组越界:java.lang.ArrayIndexOutOfBoundsException

​	3.类型转换异常:java.lang.ClassCastException
    
    4.算数异常:java.lang.ArithmeticException



2.检查异常:(编译时显示报错的异常)
    (CheckedException)必须处理

异常的处理:

1.try{} catch(){}
public static void test1(){

	String name = null;
	//将有可能发生的异常代码,try{} 包裹
	try {  	
		System.out.println(name.getClass());
    
	}catch(Exception ex){
		
    	 //打印异常信息
		ex.printStackTrace();
	}
    System.out.println("---");
}
2.多重catch
    2.1:多重catch不能把父类Exception放在前面    
try {     
	System.out.println(obj.getClass());
		Integer it = (Integer) obj;

		System.out.println(it);	
    
}catch(NullPointerException ex){
    System.out.println("空指针异常");
			
}catch (ClassCastException ex) {

	System.out.println("类型转换异常");

    
}catch(Exception ex){
   System.out.println("其他异常");
}
3.JDK1.7以后多重catch语法
 public static void test3(Object obj) {
    try {

		System.out.println(obj.getClass());//根据传过来的参数可能存在空指针异常
		Integer it = (Integer) obj;//根据传过来的参数可能出现类型转换异常

		System.out.println(it);

	} catch (NullPointerException | ClassCastException ex) {

		if (ex instanceof NullPointerException) {
			System.out.println("abc");

		} else {

			System.out.println("def");
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值