当您生成/覆盖新方法,在IDE中生成try-catch构造等时,大多数(如Eclipse,Intellij)默认为相当可疑的行为,如返回null,打印stacktrace和继续,调用super方法等。例如,如果您在'Thread.sleep(x)'上自动完成,IDE将为您提供:
try {
Thread.sleep(x);
}catch(InterruptedException e){
e.printStackTrace();
}
在我看来,在这种情况下,更明智的做法是throw new AssertionError(e)
,而在其他情况下则throw new AssertionError("not implemented")
。
答案 0 :(得分:0)
关于为什么它们不是“更好”的默认值的简短回答是,对于那些“更好”的东西,它可能完全是主观的:)
以下是如何在IntelliJ中配置:
设置 - > [IDE设置]文件和代码模板 - > [标签:代码] Catch Statement body
输入:throw new AssertionError("not implemented");
希望这有帮助。