File tree Expand file tree Collapse file tree 2 files changed +3
-3
lines changed
Expand file tree Collapse file tree 2 files changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -206,7 +206,7 @@ MyException: Originated in g()
206206FullConstructors.main(FullConstructors.java:24)
207207```
208208
209- 新增的代码非常简短:两个构造器定义了 MyException 类型对象的创建方式。对于第二个构造器,使用 super 关键宇明确调用了其基类构造器 ,它接受一个字符串作为参数。
209+ 新增的代码非常简短:两个构造器定义了 MyException 类型对象的创建方式。对于第二个构造器,使用 super 关键字明确调用了其基类构造器 ,它接受一个字符串作为参数。
210210
211211在异常处理程序中,调用了在 Throwable 类声明(Exception 即从此类继承)的 printStackTrace() 方法。就像从输出中看到的,它将打印“从方法调用处直到异常抛出处”的方法调用序列。这里,信息被发送到了 System.out,并自动地被捕获和显示在输出中。但是,如果调用默认版本:
212212
@@ -2068,7 +2068,7 @@ try {
20682068
20692069如果想把“被检查的异常”这种功能“屏蔽”掉的话,这看上去像是一个好办法。不用“吞下”异常,也不必把它放到方法的异常说明里面,而异常链还能保证你不会丢失任何原始异常的信息。
20702070
2071- 这种技巧给了你一种选择,你可以不写 try-catch 子句和/或异常说明,直接忽路异常 ,让它自己沿着调用栈往上“冒泡”,同时,还可以用 getCause() 捕获并处理特定的异常,就像这样:
2071+ 这种技巧给了你一种选择,你可以不写 try-catch 子句和/或异常说明,直接忽略异常 ,让它自己沿着调用栈往上“冒泡”,同时,还可以用 getCause() 捕获并处理特定的异常,就像这样:
20722072
20732073``` java
20742074// exceptions/TurnOffChecking.java
Original file line number Diff line number Diff line change @@ -1348,7 +1348,7 @@ x.getClass().equals(Derived.class)) true
13481348
13491349### 类方法提取器
13501350
1351- 通常,你不会直接使用反射工具,但它们可以帮助你创建更多的动态代码。反射是用来支持其他 Java 特性的,例如对象序列化(参见[ 附录:对象序列化] ( #ch040.xhtml#appendix-object-serialization ) )。但是,有时动态提取有关类的信息很有用。
1351+ 通常,你不会直接使用反射工具,但它们可以帮助你创建更多的动态代码。反射是用来支持其他 Java 特性的,例如对象序列化(参见[ 附录:对象序列化] ( https://lingcoder.github.io/OnJava8/#/book/Appendix-Object-Serialization ) )。但是,有时动态提取有关类的信息很有用。
13521352
13531353考虑一个类方法提取器。查看类定义的源代码或 JDK 文档,只显示* 在该类定义中* 定义或重写的方法。但是,可能还有几十个来自基类的可用方法。找到它们既单调又费时[ ^ 1 ] 。幸运的是,反射提供了一种方法,可以简单地编写一个工具类自动地向你展示所有的接口:
13541354
You can’t perform that action at this time.
0 commit comments