18《重学 JAVA》--JAVA 异常(二)
一、异常关键字
使用 try 和 catch 关键字可以捕获异常。try/catch 代码块放在异常可能发生的地方。
Catch 语句包含要捕获异常类型的声明。当保护代码块中发生一个异常时,try 后面的 catch 块就会被检查。
如果发生的异常包含在 catch 块中,异常会被传递到该 catch 块,这和传递一个参数到方法是一样。
Try:try 代码块中应该包含执行过程中可能会发生异常的语句。一条语句是否有可能发生异常,这要看语句中调用的方法。用于监听。将要被监听的代码(可能抛出异常的代码)放在 try 语句块之内,当 try 大括号内内发生异常时,异常就被抛出。
Catch:每个 try 代码块可以伴随一个或多个 catch 代码块,用于处理 try 代码块中所可能发生的多种异常,用于捕获异常。
Finally:Finally 语句块总是会被执行。它主要用于回收在 try 块里打开的物力资源(如数据库连接、网络连接和磁盘文件)。只有 finally 块,执行完成之后,才会回来执行 try 或者 catch 块中的 return 或者 throw 语句,如果 finally 中使用了 return 或者 throw 等终止方法的语句,则就不会跳回执行,JVM 会直接停止。
Throw:如果一个方法没有捕获到一个检查性异常,那么该方法必须使用 throws 关键字来声明。throws 关键字放在方法签名的尾部。也可以使用 throw 关键字抛出一个异常,无论它是新实例化的还是刚捕获到的。
二、异常处理
在 JAVA 程序中你可以自定义异常。编写自己的异常类时需要记住下面的几点。
所有异常都必须是 Throwable 的子类,因为 Throwable 是所有异常的父类。
如果希望写一个检查性异常,则需要继承 Exception 类。
如果你想写一个运行时异常,那么需要继承 RuntimeException 类。
版权声明: 本文为 InfoQ 作者【杨鹏Geek】的原创文章。
原文链接:【http://xie.infoq.cn/article/e2b7254d6c58a2fac3f6156a2】。文章转载请联系作者。
评论