异常是导致程序找中断运行的一种指令流,导致程序中断执行,造成不必要的损失。为保证程序的顺利进行,则在程序设计的时候要考虑到异常的处理及产生。
看一下程序
public class ExceptionDemo01{
public static void main(String args[]){
int i = 10 ;
int j = 0 ;
int temp = i / j ; // 此处产生了异常
System.out.println("两个数字相除的结果:" + temp) ;
}
};
一旦异常产生,则后面的语句就不会执行,直接结束程序,并提示错误。
异常的处理:
try{
有可能出现异常的语句
}catch(异常类 异常对象){
异常处理语句
}
..............
finally{
一定会执行的语句
}
应许有多个catch()
public class ExceptionDemo01{
public static void main(String args[]){
int i = 10 ;
int j = 0 ;
try{
int temp = i / j ; // 此处产生了异常
System.out.println("两个数字相除的结果:" + temp) ;
}catch(ArithmeticException e){
System.out.println("出现异常了:"+e);
}finally{ //作为异常的统一出口
System.out.println("不管是否出现异常,都执行这个代码");
}
System.out.println("两个数字相除的结果:") ;
}
};.
在JAVA异常处理中,有两个最常用的类:Exception Error
这两个类都是Throwable 的子类
1.Exception 一般指程序中出现的问题,可以使用try......catch 语句处理
2.Error JVM的错误,在程序中无法处理
在Exception类中提供了一个方法可以打印异常信息:
public void printStackTrace()
throws与throw
使用throws声明的方法表示此不处理异常,而交给方法调用出进行处理。
public 返回值类型 方法名称(参数列表)throws 异常类{}
throw在程序中是抛出一个异常,抛出的是异常的实例化对象。。。
throw new Exception() //抛出异常的实例化对象
在JAVA异常处理中
1.如果抛出的是Exception类型的异常,则必须使用try....catch处理
2.如果抛出的是RuntimeException类型,则可以不进行处理,它会自动交给JVM进行处理。。。
try....catch处理