第十三次作业

本文介绍了Java中的异常处理机制,包括常见的四种异常类型如ArrayIndexOutOfBoundsException、NumberFormatException、ArithmeticException和NullPointerException,以及如何使用throws声明异常和throw关键字主动抛出异常。同时,还讲解了如何自定义异常类,通过继承Exception来实现。
摘要由CSDN通过智能技术生成

异常:异常就是是导致程序中断运行的一种指令流。如果不对异常进行正常处理,则可能导致程序的中断执行,造成不必要的损失。

代码如下:

class Exc{                              //创建一个类
	int i=10;                              //定义一个整型变量并初始化
         }
public class ExceptionDemo01 {                    //创建一个类
 
	public static void main(String[] args) {        //主方法
		int a=10;                                    //定义一个整型变量并初始化
		int b=0;                                    //定义一个整型变量并初始化
		int temp=a/b;                                //计算两个变量的商
		System.out.println(temp);//输出结果
 
	                                        }
                               }

运行结果为:

 处理异常:

1.异常格式


try{                    //捕捉异常
异常语句
    }    
catch(Exception e){    //处理异常
 
                  }
finally{                //会执行的语句
一定会执行的代码
        }
class Exc{            //创建一个类
	int i=10;            //定义一个整型变量并初始化
         }
public class ExceptionDemo01 {    //创建一个类
 
	public static void main(String[] args) {        //主方法
		int a=10;                                    //定义一个整型变量并初始化
		int b=0;                                    //定义一个整型变量并初始化
		int temp=0;                                //定义一个整型变量并初始化
		try{ temp=a/b;                            //计算两个变量的商
		                                 }
        catch(ArithmeticException e)
        {                                            //处理异常
			System.out.println(e);                //输出异常信息
		}
		
		System.out.println(temp);//输出结果
 
	                    }
                     

运行结果为:

 

class Exc{//创建一个类
	int a=10;//定义一个整型变量并初始化
	int b=10;//定义一个整型变量并初始化
}
public class ExceptionDemo01 {//创建一个类
 
	public static void main(String[] args) {//主方法
		
		int temp=0;//定义一个整型变量并初始化
		Exc e=null;//创建对象
		//e=new Exc();//实例化对象
		try{//捕捉异常
			temp=e.a/e.b;//计算商
			System.out.println(temp);//输出结果
		}catch(NullPointerException e2){//处理异常
			System.out.println("空指针异常:"+e2);//输出异常信息
		}catch(ArithmeticException e2){//处理异常
			System.out.println("算数异常:"+e2);//输出异常信息
		}
		finally{//最后一定会执行的代码
			System.out.println("程序推出");//输出信息
		}
 
		
 
	}
 
}

运行结果为:

 1.常见异常:

有以下四种:

1.数组越界异常:ArrayIndexOutOfBoundsException

2.数字格式化异常:NumberFormatException

3.算数异常:ArithmeticException

4.空指针异常:NullPointerExceptio

2.throws关键字

1.在定义一个方法的时候可以使用throws关键字声明,使用throws声明的方法表示此方法不处理异常,抛给方法的调用者处理

2.格式为:

public void tell() throws Exception{ } 

代码如下:

public class ExceptionDemo02 {//创建类
 
	public static void main(String[] args) {//主方法
		tell(10,0);//调用方法并传入值
	}
	public static void tell(int i,int j)throws ArithmeticException{//创建类并抛出算数异常
		int temp=0;//定义一个整型变量并初始化
		temp=i/j;//计算商
		System.out.println(temp);//输出信息
	}
 
}

运行结果为:

public class ExceptionDemo02 {//创建类
 
	public static void main(String[] args) {//主方法
		try{//捕捉异常
			tell(10,0);//调用方法并传入值
		}catch(Exception e){//处理异常
			System.out.println(e);//输出异常信息
		}
	}
	public static void tell(int i,int j)throws ArithmeticException{//创建类并抛出算数异常
		int temp=0;//定义一个整型变量并初始化
		temp=i/j;//计算商
		System.out.println(temp);//输出信息
	}
 
}

 运行结果为:

public class ExceptionDemo02 {//创建类
 
	public static void main(String[] args)throws Exception {//主方法并抛出异常
		
			tell(10,0);//调用方法并传入值
	}
	public static void tell(int i,int j)throws ArithmeticException{//创建类并抛出算数异常
		int temp=0;//定义一个整型变量并初始化
		temp=i/j;//计算商
		System.out.println(temp);//输出信息
	}
 
}

 运行结果为:

关键字:throw

1.throw关键字抛出一个异常,抛出的时候直接抛出异常类的实例化对象即可。

public class ExceptionDemo03 {//创建类
 
	public static void main(String[] args) {//主方法
		try{//捕捉异常
			throw new Exception("实例化异常对象");//利用throw关键字直接抛出异常实例化对象
		}catch(Exception e){//处理异常
			System.out.println(e);//输出异常信息
		}
 
	}
 
}

 运行结果为:

 自定义异常:

1.自定义异常直接继承Exception就可以完成自定义异常类。

 代码如下:

class MyException extends Exception{//创建自定义异常类并继承父类
	public MyException(String msg){//定义方法并传入一个字符串参数
		super(msg);//调用父类构造方法
	}
}
public class ExceptionDemo04 {//创建类
 
	public static void main(String[] args) {//主方法
		try{//捕捉异常
			throw new MyException("自定义异常");//直接抛出自定义异常实例化对象
		}catch(MyException e){//处理异常
			System.out.println(e);//输出异常信息
		}
 
	}
 
}

运行结果为:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值