目录
异常的概念
程序在运行过程中,常常会发生一些错误,这种在程序运行时,可能出现的错误成为异常。
java.lang. Throwable是Java中所有异常类的父类。两个重要子类分别是Error类和Exception类。
子类Error(错误):是程序无法处理的错误(主要用于表示底层资源或系统错误)
子类Exception(异常):是程序本身可以处理的异常
异常可以分为运行期异常和编译期异常。
对异常的处理机制分为抛出异常和捕获异常。
异常处理五个关键字
try
在Java程序中,如果要在出现异常的地方进行异常处理,在方法中添加两类代码块,即try、catch。发生异常的代码都放在try代码块中,try 代码块中包含的是可能引起一个或者多个异常的代码。try 代码块的功能就是监视异常的发生。
catch
如果try块中的代码产生异常对象,则由catch 块进行捕获并处理。catch 代码块中的代码用于处理try代码块中抛出的具体异常类型的异常对象。
try-catch处理异常语法格式
try{
// 代码段(可能发生的异常代码)
}catch{
// 对异常进行处理的代码段
}
try{
// 代码段
// 产生异常(异常类型2)
} catch(异常类型1 )
throw
throw 语句用来明确地抛出一个“异常”。用户必须得到一个Throwable 类或其他子类产生的对象引用,通过参数传到catch子句,或者用new语句来创建一个异常对象
throw ThrowableInstance(异常对象)
throws
如果一个方法methodName()可以引发异常,而它本身并不对该异常进行处理,那么该方法必须声明将这个异常抛出,以使程序能够继续执行下去。这时候使用throws语句。
returnType methodName() throws ExceptionType1,ExceptionType2{
// body
}
finally
不管代码是否发生异常,总是要求某些代码必须被执行。finally不能单独使用,必须与try结合使用。
try{
// 代码段(可能发生的异常代码)
}catch(Throwable ex){
// 对异常进行处理的代码段
}finally{
// 总要被执行的代码
}
try块 {
1.可能发生的异常
2.如果当前代码异常,try块里后续有效代码不会被执行
3.一个try对应一个或多个catch,一个try对应一个finally
}catch{
}