什么是异常?
在程序中,代码出现错误(编译错误和运行错误),程序会终止运行。
异常不是语法错误,编译不通过,无法产生字节码,根本无法运行
异常也是衡量一门编程语言是否成熟的标志之一。
异常体系
Error
表示错误,与JVM相关,不可修复
Exception
表示异常,程序中出现不正常的情况,可以修复
捕获异常
两种方法:
1)该方法不处理,而是声明抛出,由该方法的调用者来处理(throws)
public class HelloWorld throws Exception{
........
}
2)在方法中使用try——catch语句来捕获异常
try{
//可能出现异常的代码
}catch{
处理异常的代码*
}
try和catch必须连用
*常用的处理异常的方法,(Throwable类)
String getMessage();捕获异常的描述信息
String toString();捕获异常的类型和描述异常信息
void printStarkTrace(); 打印异常的跟踪栈信息并输出到控制台(常用)
注意
一个catch只能捕获一种类型的异常,如一段代码出现多种异常,需使用多个catch连用
try{
}catch{
}catch{
}catch{
}
finally代码块
格式
try{
}catch{
}catch{
}finally{
}
作用
无论有没有异常,都会执行的语句
异常分类
1)编译时异常
在编译时会检查,如果没有处理异常,就会编译失败
2)运行时异常
在运行时检查异常,在编译时不会被检测