1、认识异常
异常是导致程序中断运行的一种指令流。如果不对异常进行正常处理,则可能导致程序的中断执行,造成不必要的损失。
1.1异常的抛出
1、定义 : 一个方法不处理这个异常,而是调用层次向上传递,谁调用这个方法,这个异常就由谁来处理。
2、throw : 将产生的异常抛出(强调的是动作),抛出的既可以是异常的引用,也可以是异常对象。(位置: 方法体内)
3、throws : 如果一个方法可能会出现异常,但没有能力处理这种异常,可以在方法声明处用throws子句来声明抛出异常。用它修饰的方法向调用者表明该方法可能会抛出异常(可以是一种类型,也可以是多种类型,用逗号隔开)(位置: 写在方法名 或方法名列表之后 ,在方法体之前。)
注意 : 调用可能会抛出异常的方法,必须添加try-catch代码块尝试去捕获异常 或者 添加throws 声明 来将异常 抛出给更上一层的调用者进行处理,这里需要注意一个细节:新的异常包含原始异常的所有信息,根据这个我们可以去追溯最初异常发生的位置,
异常范例
class Quadrangle { //创建一个类
int i=10;//定义一个整型变量并初始化
}
public class ExceptionDemo01 { //创建ExceptionDemo01类
public static void main(String[] args) {//主方法
int a=10;//定义一个整型变量并初始化
int b=0;//定义一个整型变量并初始化
int temp=a/b;//计算两个变量的商
System.out.println(temp);//输出结果
}
}
2、处理异常
try{//捕捉异常
异常语句
}catch(Exception e){//处理异常
}
finally{//会执行的语句
一定会执行的代码
class Quadrangle { //创建一个类
int i=10;//定义一个整型变量并初始化
}
public class ExceptionDemo01 { //创建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);//输出结果
}
}