Java语言如何进行异常处理,关键字throws,throw,try,catch,finally 分别代表什么意义?在 try 块中可以抛出异常吗?
参考解答
Java 中主要通过try-catch-finally语句开进行异常控制,语法如下:
try {
/*
要尝试执行的代码,可能会正常执行结束,也可能在执行过程中出现异常
如果执行过程中某行代码出现了异常,则进入异常流程,即进入catch块
*/
} catch(Exception e) {
/*
在try块中的某行代码如果出现了异常,则程序流程进入此处
Exception e 是异常对象,其中包含了异常的具体信息
*/
} finally {
/*
无论try块内是否出现了异常,最后总要执行的代码
*/
}
throw:用来手动抛出(产生)一个异常,throw之后不能再出现其它代码,程序将进入异常流程。语法:
throw 异常对象;
throws:如果一个方法没有使用try-catch来处理异常,那么异常发生时,会将异常对象传递给这个方法的调用者,这时候需要在方法声明上列出可能抛出的异常。语法:
public void 方法名 throws 异常类型1, 异常类型2 ... {
}
注意: 如果方法中可能出现的是检查异常,那么throws是必须的;如果方法中可能出现的只有未检查异常(RuntimeException或Error),那么throws是可选的。
最后,在try块中可以抛出异常