Merlin的魔力: 非常和日记记录[Java编程]
本文“Merlin的魔力: 非常和日记记录[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
为了理解问题的本源并适本地呼应,Merlin 发行版增添了几个与非常处理相关的功效.目前,您没必要手工解析仓库转储信息便可以查抄仓库跟踪信息,并且可以把非常连成一条菊花链,这样就可以够在重新抛出非常时附加上非常的缘由,这会大大增长调试工作.此外,目前还有一个内建的日记记录工具用来记录消息的差别级别.在 Merlin 的魔力系列的这一部份,John Zukowski 演示了这些新的日记记录和非常功效的工作原理并供应了一个示例程序以供查看和下载.
这个 Merlin 发行版中新增添的很多功效(比方非常处理和日记记录功效),并不象别的一些功效一样明显或令人高兴,但它们很有效,值得我们关注.全部的 Java 开辟者应当都熟习履行非常处理的基本构造:把大概抛出非常的代码放在 try 块中,然后,万一在这个块中确切抛出了非常,则由这个块下面的 catch 子句来处理.在这个 Merlin 发行版中,这个基本构造并没有发生改变.发行版 1.4 中的新功效是假如从 catch 子句重新抛出了一个非常,您可以附加上该非常的初始缘由.这真是一个便于调试的高招!并且,假如您想记录下非常发生在何处,您没必要手工解析仓库跟踪信息.目前支持通历程序的方法拜候仓库跟踪数据,还有一个“日记记录 API”(Logging API)用于记录这些数据(或别的任何内容).
下面是这个月我们要谈论的新功效的列表:
链式非常工具
以程序的方法拜候仓库跟踪信息
日记记录 API
开始
清单 1 中的基本程序包含三个办法,这三个办法都可抛出非常.每个非常情形通过显示一条消息来处理.在第一个例子中,非常被重新抛出以便显示针对该问题的第二条消息.
清单 1. 非常处理的骨架程序import java.io.*;
public class Exceptions {
private static void fileAccess() throws IOException {
// Fails because prefix is too short
File f = File.createTempFile("x", "y");
}
private static void divZero() {
System.out.println(1/0);
}
private static void arrayAccess(String array[]) {
System.out.println("First: " + array[0]);
}
public static void main(String args[]) {
try {
try {
fileAccess();
} catch (Exception e) {
System.err.println("Prefix too short");
throw e;
}
} catch (Exception cause) {
System.err.println("Cause: " + cause);
}
try {
divZero();
} catch (Exception e) {
System.err.println("Division by Zero");
e.printStackTrace();
}
try {
arrayAccess(args);
} catch (Exception e) {
System.err.println("No command line args");
}
}
}
以上是“Merlin的魔力: 非常和日记记录[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |