摘要: 尽管Java的内置异常处理大多数常见错误,你也许希望建立你自己的异常类型来处理你所应用的特殊情况。这是非常简单的:只要定义Exception的一个子类就可以了(Exception当然是Throwable的一个子类)。你的子类不需要实际执行什么——它们在类型系统中的存在允许你把它们当成异常使用。Exc 阅读全文
posted @ 2017-05-09 17:55 Java小助手 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 在标准包java.lang中,Java定义了若干个异常类。前面的例子曾用到其中一些。这些异常一般是标准类RuntimeException的子类。因为java.lang实际上被所有的Java程序引入,多数从RuntimeException派生的异常都自动可用。而且,它们不需要被包含在任何方法的thro 阅读全文
posted @ 2017-05-09 17:54 Java小助手 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 如果一个方法可以导致一个异常但不处理它,它必须指定这种行为以使方法的调用者可以保护它们自己而不发生异常。做到这点你可以在方法声明中包含一个throws子句。一个 throws 子句列举了一个方法可能抛出的所有异常类型。这对于除Error或RuntimeException及它们子类以外类型的所有异常是 阅读全文
posted @ 2017-05-09 17:52 Java小助手 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 当异常被抛出,通常方法的执行将作一个陡峭的非线性的转向。依赖于方法是怎样编码的,异常甚至可以导致方法过早返回。这在一些方法中是一个问题。例如,如果一个方法打开一个文件项并关闭,然后退出,你不希望关闭文件的代码被异常处理机制旁路。finally关键字为处理这种意外而设计。finally创建一个代码块。 阅读全文
posted @ 2017-05-09 17:52 Java小助手 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 到目前为止,你只是获取了被Java运行时系统抛出的异常。然而,程序可以用throw语句抛出明确的异常。Throw语句的通常形式如下: throw ThrowableInstance;这里,ThrowableInstance一定是Throwable类类型或Throwable子类类型的一个对象。简单类型 阅读全文
posted @ 2017-05-09 17:51 Java小助手 阅读(288) 评论(0) 推荐(0) 编辑
摘要: Try语句可以被嵌套。也就是说,一个try语句可以在另一个try块内部。每次进入try语句,异常的前后关系都会被推入堆栈。如果一个内部的try语句不含特殊异常的catch处理程序,堆栈将弹出,下一个try语句的catch处理程序将检查是否与之匹配。这个过程将继续直到一个catch语句匹配成功,或者是 阅读全文
posted @ 2017-05-09 17:50 Java小助手 阅读(1767) 评论(0) 推荐(0) 编辑
摘要: 某些情况,由单个代码段可能引起多个异常。处理这种情况,你可以定义两个或更多的catch子句,每个子句捕获一种类型的异常。当异常被引发时,每一个catch子句被依次检查,第一个匹配异常类型的子句执行。当一个catch语句执行以后,其他的子句被旁路,执行从try/catch块以后的代码开始继续。下面的例 阅读全文
posted @ 2017-05-09 17:49 Java小助手 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 尽管由Java运行时系统提供的默认异常处理程序对于调试是很有用的,但通常你希望自己处理异常。这样做有两个好处。第一,它允许你修正错误。第二,它防止程序自动终止。大多数用户对于在程序终止运行和在无论何时错误发生都会打印堆栈轨迹感到很烦恼(至少可以这么说)。幸运的是,这很容易避免。为防止和处理一个运行时 阅读全文
posted @ 2017-05-09 17:48 Java小助手 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 在你学习在程序中处理异常之前,看一看如果你不处理它们会有什么情况发生是很有好处的。下面的小程序包括一个故意导致被零除错误的表达式。class Exc0 { public static void main(String args[]) { int d = 0; int a = 42 / d; }}当J 阅读全文
posted @ 2017-05-09 16:40 Java小助手 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 所有异常类型都是内置类Throwable的子类。因此,Throwable在异常类层次结构的顶层。紧接着Throwable下面的是两个把异常分成两个不同分支的子类。一个分支是Exception。该类用于用户程序可能捕捉的异常情况。它也是你可以用来创建你自己用户异常类型子类的类。在Exception分支 阅读全文
posted @ 2017-05-09 16:39 Java小助手 阅读(157) 评论(0) 推荐(0) 编辑