Java:价值处理太高 - 最佳实践?

时间:2017-09-25 11:28:19

标签: java exception exception-handling

这既是一个具体问题,也是一个基本问题:

我正在从配置文件中读取一个值,它必须高于某个X,否则我就赢了; t能够正确运行我的程序。

如果该值低于X ...

  1. 在这种情况下抛出异常是正确的做法吗?
  2. 如果是 - 我应该使用预定义的异常(以及哪一个),还是应该创建自己的异常类,是否应该从其他异常类扩展它?
  3. 感谢。

2 个答案:

答案 0 :(得分:1)

  

在这种情况下抛出异常是正确的做法吗?

抛出异常是一个有效的选择。另一个有效的选择是使用一些合理的默认值,并为用户记录警告,说明发生了什么。

选择取决于配置值的敏感程度。你必须就此做出逐案决定。

  

我应该使用预定义的异常(以及哪一个),还是应该创建自己的异常类,是否应该从其他异常类扩展它?

如果您选择抛出异常以支持默认值,则抛出从Exception派生的自定义异常以使其“选中”。这将确保有代码来处理调用代码中的异常。

答案 1 :(得分:0)

1。)是的 2.)制作您自己的一个,以您加载的值的含义命名。 您可以简单地扩展IllegalArgumentException或NumberFormatException。

越精确越好 - 使您的应用程序的代码和行为更加清晰。

如果您所讨论的值对于应用程序具有中心/突出意义,那么我将使用更准确的扩展NumberFormatException。如果有更多的值不仅仅是没有可区分含义的值,您也可以简单地使用NumberFormatException而不是扩展它。