当前位置: 首页 > 面试题库 >

在Eclipse中更改未处理的异常自动生成的捕获代码?

张和豫
2023-03-14
问题内容

如果我在Java中有未处理的异常,Eclipse会向我提出两个选择:(1)添加throws声明和(2)用try / catch包围。

如果我选择(2),则会添加一个代码

try {
   myfunction();
} catch (MyUnhandledException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

我想将其更改为

try {
   myfunction();
} catch (MyUnhandledException e) {
    throw new RuntimeException(e);
}

这可能吗?

更新

为什么这么爱改变话题的人???

如果捕获并打印了异常,也无需再捕获它。如果我忘记错误地处理异常,我希望我的应用程序崩溃。因此,我想默认将其重新抛出。


问题答案:

是的,您可以更改Eclipse添加的默认代码。

  1. 在首选项中,导航至 Java >代码样式>代码模板
  2. “代码”下 ,选择“ 捕获块主体”
  3. 按“编辑”按钮更改代码。完成后,按 确定 按钮。

考虑在默认的catch块中添加TODO注释。例如,默认值包括:

     // ${todo} Auto-generated catch block


 类似资料:
  • 我正在尝试创建一个过滤器来处理异常(请参见在JSF中处理未捕获的异常) 我在日志中看到错误: 我做错了什么?

  • 问题内容: 我知道可可中有一个UncaughtExceptionHandler,但是我正在为Swift寻找相同的东西。即,每当应用程序中有任何错误/异常由于任何错误而未在本地捕获时,它应该一直冒泡到顶级应用程序对象,在那里我应该能够妥善处理它并适当地响应用户。 Android有它。Flex有它。Java有它。想知道为什么Swift缺少此关键功能。 问题答案: Swift没有机制来捕获所有任意的运行

  • 我目前在我的路由中使用dotry/doCatch块,因此我无法使用全局onException块。 然而,如果驼峰路由中断(由于错误代码或意外/未测试的场景),我希望执行一些业务逻辑。希望这永远不会发生,但我仍然想处理更糟糕的情况。 我不能在全局OneException块中有java.lang.Exception,而且,我不想在每个路由上都添加一个额外的捕获。 在抛出未捕获的异常和中断路由之前,是否

  • 本节介绍如何使用三个异常处理程序组件(try、catch 和 finally)来编写异常处理程序。 然后,介绍了 Java SE 7中引入的 try-with-resources 语句。 try-with-resources 语句特别适合于使用Closeable的资源(例如流)的情况。 本节的最后一部分将通过一个示例来分析在各种情况下发生的情况。 以下示例定义并实现了一个名为ListOfNumbe

  • 问题内容: 每当我在Eclipse中创建一个新的Java文件并选中add选项时,都会生成以下代码: 我如何: 删除评论 更改缩进,以使每个{都位于一行上 删除TODO自动生成的注释 问题答案: 缩进是格式问题,而注释是模板问题。 模板位于 窗口- >首选项-> Java->代码样式->代码模板中。浏览所有这些内容,并查找您想要更改的内容。 格式化程序有点复杂。您可以在 Window- > Pref

  • 问题内容: 我有一个应用程序,需要编写一个自定义的全局未捕获的异常处理程序。我已经阅读了所有stackoverflow线程,并且其中每个线程都只是缺少一个清晰而简单的示例,说明了如何实现这一点。 考虑以下简单示例: 它抛出一个标准异常,它只是一个标准输出。我如何实现自己的异常,该异常可以通过将错误输出到日志文件中的简单方法覆盖标准异常?显然,实际的应用程序要大得多,我们正在谈论未捕获的异常,这就是