为什么Java IDE';s默认实现模板不抛出断言错误?
当您在IDE中生成/覆盖新方法、生成try-catch构造等时,其中大多数(如Eclipse、Intellij)默认为相当可疑的行为,如返回null、打印stacktrace并继续、调用super方法等。例如,如果您在“Thread.sleep(x)”上自动完成,IDE将为您提供:为什么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(); } 在我看来,更明智的做法是在这种情况下抛出新
try {
Thread.sleep(x);
}catch(InterruptedException e){
e.printStackTrace();
}
在我看来,更明智的做法是在这种情况下抛出新的断言错误(e),而在其他情况下抛出新的断言错误(“未实现”)。关于为什么它们的默认值不是“更好”的,简短的回答是,对于“更好”的默认值是什么,它可能完全是主观的:) 以下是如何在IntelliJ中进行配置: 设置->[IDE设置]文件和代码模板->[tab:Code]
Catch语句体
输入:抛出新的断言错误(“未实现”)代码>
希望这能有所帮助。您可以将其更改为您希望它执行的任何操作。它是可配置的。@maba:是的,但为什么要将一个坏的设置为默认值呢?@EnnoShioji强迫你自己想出一个更好的:)