有没有理由Throwable
类没有带参数的构造函数来格式化消息字符串?
我相信像这样的构造函数可以实现更加干净和优雅的异常处理。
throw new Exception(String.format("Illegal value. Must be between %s and %s", min, max));
恕我直言会这样看起来好多了:
throw new Exception("Illegal value. Must be between {} and {}", min, max);
在中型/大型应用程序中,这可以节省大量的打字并提高可读性。
我想知道为什么Sun / Oracle还没有完成这一改变。我怎样才能开一张"票#34;到Oracle分析我的建议?
答案 0 :(得分:3)
我同意可能有一些更好的构造函数用于异常类型。
然而,自己编写辅助方法很容易。
public static String outOfBoundsMessage(int min, int max, int actualValuePassed) {
return String.format("Illegal value. %s is not between %s and %s", actualValuePassed, min, max);
}
然后你可以做
throw new Exception(outOfBoundsMessage(0, 10, 15));