Java:价值处理太高 - 最佳实践?
Java: Too high value handling - best practice?
这既是一个具体问题,也是一个基本问题:
我正在从配置文件中读取一个值,它必须高于某个 X,否则我会赢;无法正确地 运行 我的程序。
如果值低于 X...
- 在那种情况下抛出异常是正确的做法吗?
- 如果是 - 我应该使用预定义的异常(以及哪个异常)还是应该创建自己的异常 class,我是否应该从其他异常扩展它 class?
谢谢。
1.) 是
2.) 制作你自己的,以你加载的值的含义命名。
您可以简单地扩展 IllegalArgumentException 或 NumberFormatException。
越精确越好 - 使您的代码和应用程序的行为更清晰。
如果您所说的值是 central/outstanding 对应用程序意味着我会扩展 NumberFormatException 一个更精确的。如果有比这个值更多的值没有可区分的含义,您也可以简单地使用 NumberFormatException 而不是扩展它。
Is it a correct practice to throw an exception in that case?
抛出异常是一个有效的选择。另一个有效的选择是使用一些合理的默认值,并为用户记录一条警告,解释发生了什么。
选择取决于所配置值的敏感程度。您必须就此做出具体情况的决定。
Should I use a predefined exception (and which one) or should I create my own exception class, and should I extend it from some other exception class?
如果您选择抛出一个有利于默认值的异常,抛出一个派生自 Exception
的自定义异常以使其成为 "checked"。这将确保调用代码中有代码来处理异常。
这既是一个具体问题,也是一个基本问题:
我正在从配置文件中读取一个值,它必须高于某个 X,否则我会赢;无法正确地 运行 我的程序。
如果值低于 X...
- 在那种情况下抛出异常是正确的做法吗?
- 如果是 - 我应该使用预定义的异常(以及哪个异常)还是应该创建自己的异常 class,我是否应该从其他异常扩展它 class?
谢谢。
1.) 是
2.) 制作你自己的,以你加载的值的含义命名。
您可以简单地扩展 IllegalArgumentException 或 NumberFormatException。
越精确越好 - 使您的代码和应用程序的行为更清晰。
如果您所说的值是 central/outstanding 对应用程序意味着我会扩展 NumberFormatException 一个更精确的。如果有比这个值更多的值没有可区分的含义,您也可以简单地使用 NumberFormatException 而不是扩展它。
Is it a correct practice to throw an exception in that case?
抛出异常是一个有效的选择。另一个有效的选择是使用一些合理的默认值,并为用户记录一条警告,解释发生了什么。
选择取决于所配置值的敏感程度。您必须就此做出具体情况的决定。
Should I use a predefined exception (and which one) or should I create my own exception class, and should I extend it from some other exception class?
如果您选择抛出一个有利于默认值的异常,抛出一个派生自 Exception
的自定义异常以使其成为 "checked"。这将确保调用代码中有代码来处理异常。