是否可以在不删除预期异常的情况下删除错误指针?

时间:2016-11-24 21:47:42

标签: java exception

所以我创建了一个涉及使用异常的程序。除了我在代码输出中得到不需要的错误指针之外,这似乎工作得很好。这是我的代码的输出:

************Herbivore caught Exception example************
java.lang.Exception: Herbivores only eat plants!
Exception caught
************Herbivore non-caught Exception example************
Herbivores eat Vegetables
    at QuestionEditor.Rabbit.eat(Rabbit.java:38)
    at QuestionEditor.Main.main(Main.java:25)

我不想在我的代码中输出的最后两行,因为这只是告诉我为什么我得到一个异常,但我只想打印出异常消息而没有这些额外的错误消息指针,如果可能的话?我正在使用NetBeans,所以我不确定每个异常程序是否会出现这种情况o如果我做错了吗? 我认为没有必要显示我的程序的代码,因为实际上没有任何错误,并且输出我想要它从这些附加消息输出的内容,如果您认为我包含代码很重要请留下评论说,我会在我的问题中编辑它。首选输出是:

************Herbivore caught Exception example************
java.lang.Exception: Herbivores only eat plants!
Exception caught
************Herbivore non-caught Exception example************
Herbivores eat Vegetables

如果有人能提供帮助,我们将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用Thread.UncaughtExceptionHandler实现此目的。这允许您添加在给定线程上未捕获异常时执行的代码。在异常处理程序中,您可以打印出错误消息。代码:

Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {

    @Override
    public void uncaughtException(Thread t, Throwable e) {
       System.out.println(e.getMessage());
    }
});