【发布时间】:2009-04-07 21:17:30
【问题描述】:
我想创建一个例程来执行一些日志记录,执行一些其他操作,然后引发异常。我希望从许多不同的位置调用此例程。但是,在此例程中创建异常意味着它们将在其堆栈跟踪中包含此例程。我宁愿堆栈跟踪不报告这个实用程序。有没有办法做到这一点,而无需在调用者中创建异常并将其传递给实用程序例程?
public static void die(String message) throws MyException {
log(message);
...
throw new MyException();
}
对于 Perl/Java 双语的程序员:我如何在 Java 中鲤鱼?
【问题讨论】:
-
Javaland 中的成语似乎很奇怪
-
除了调试之外,您还使用堆栈跟踪吗?我真的不明白为什么这很重要。
-
@ykaganovich,你做过吗?它一直在 Perl 中完成,并且是有原因的。通常当人们谈论一种语言缺乏的功能时,有很多人认为你永远不应该这样做,而他们自己从来没有做过。 :)
-
我做过什么吗?有记录仪吗?有错误处理程序吗?是的。我有没有弄乱堆栈跟踪元素?是的,但不要从 printStackTrace 中删除某些内容。我有没有“宁愿堆栈跟踪不报告这个实用程序”?不,因为我认为这是个坏主意。
标签: java exception stack-trace