javame中的自身异常
我可以用一个(自写)捕获替换所有捕获,并在自写捕获的异常类型之间切换吗?这样我就可以很容易地在异常情况下进行调试javame中的自身异常,java,java-me,exception-handling,Java,Java Me,Exception Handling,我可以用一个(自写)捕获替换所有捕获,并在自写捕获的异常类型之间切换吗?这样我就可以很容易地在异常情况下进行调试 try { int recordId = recordstore.addRecord(data, 0, data.length); } catch (RecordStoreFullException e) { e.printStackTrace(); System.out.pri
try {
int recordId = recordstore.addRecord(data, 0, data.length);
} catch (RecordStoreFullException e) {
e.printStackTrace();
System.out.println("debuginfo");
} catch (RecordStoreNotOpenException e) {
e.printStackTrace();
System.out.println("debuginfo");
} catch (RecordStoreException e) {
e.printStackTrace();
System.out.println("debuginfo");
} catch (NullPointerException e) {
e.printStackTrace();
System.out.println("debuginfo");
} catch (Exception e) {
e.printStackTrace();
System.out.println("debuginfo");
}
你为什么不这么做
try {
int recordId = recordstore.addRecord(data, 0, data.length);
} catch (Exception e) {
// or use a logging framework.
System.err.println("debuginfo");
e.printStackTrace();
}
因为我不想知道特定的异常信息。我可以在一般异常中在e.getMessage()之间切换,但这太普遍了。您能更新您的示例吗?你说你想替换所有的捕获,但你没有说明是什么阻止你这样做。是的,但是你能用你自己编写的自定义异常替换所有捕获吗?这有什么帮助?您可以将addRecord更改为具有自定义异常(未显示在代码中),也可以抛出自定义异常,从每个异常中提取所需的信息(或者您可以将其包装)。这样做的好处是我不必删除所有System.out.println命令(在我的程序中,它被一个占用大量资源的日志框架所取代,因此我不能让它处于打开状态)。但是,如果我使用自己的异常,我可以使用布尔值来调试异常,也可以不调试异常。只需将调试布尔值设置为false,就不会有更多的调试信息。