为什么Java IDE';s默认实现模板不抛出断言错误?

为什么Java IDE';s默认实现模板不抛出断言错误?,java,eclipse,intellij-idea,ide,Java,Eclipse,Intellij Idea,Ide,当您在IDE中生成/覆盖新方法、生成try-catch构造等时,其中大多数(如Eclipse、Intellij)默认为相当可疑的行为,如返回null、打印stacktrace并继续、调用super方法等。例如,如果您在“Thread.sleep(x)”上自动完成,IDE将为您提供: try { Thread.sleep(x); }catch(InterruptedException e){ e.printStackTrace(); } 在我看来,更明智的做法是在这种情况下抛出新

当您在IDE中生成/覆盖新方法、生成try-catch构造等时,其中大多数(如Eclipse、Intellij)默认为相当可疑的行为,如返回null、打印stacktrace并继续、调用super方法等。例如,如果您在“Thread.sleep(x)”上自动完成,IDE将为您提供:

try {
    Thread.sleep(x);
}catch(InterruptedException e){
    e.printStackTrace();
}

在我看来,更明智的做法是在这种情况下抛出新的断言错误(e),而在其他情况下抛出新的断言错误(“未实现”)。

关于为什么它们的默认值不是“更好”的,简短的回答是,对于“更好”的默认值是什么,它可能完全是主观的:)

以下是如何在IntelliJ中进行配置:

设置->[IDE设置]文件和代码模板->[tab:Code]Catch语句体

输入:
抛出新的断言错误(“未实现”)


希望这能有所帮助。

您可以将其更改为您希望它执行的任何操作。它是可配置的。@maba:是的,但为什么要将一个坏的设置为默认值呢?@EnnoShioji强迫你自己想出一个更好的:)