这既是一个具体问题,也是一个基本问题:
我正在从配置文件中读取一个值,它必须高于某个X,否则我就赢了; t能够正确运行我的程序。
如果该值低于X ...
感谢。
答案 0 :(得分:1)
在这种情况下抛出异常是正确的做法吗?
抛出异常是一个有效的选择。另一个有效的选择是使用一些合理的默认值,并为用户记录警告,说明发生了什么。
选择取决于配置值的敏感程度。你必须就此做出逐案决定。
我应该使用预定义的异常(以及哪一个),还是应该创建自己的异常类,是否应该从其他异常类扩展它?
如果您选择抛出异常以支持默认值,则抛出从Exception
派生的自定义异常以使其“选中”。这将确保有代码来处理调用代码中的异常。
答案 1 :(得分:0)
1。)是的 2.)制作您自己的一个,以您加载的值的含义命名。 您可以简单地扩展IllegalArgumentException或NumberFormatException。
越精确越好 - 使您的应用程序的代码和行为更加清晰。
如果您所讨论的值对于应用程序具有中心/突出意义,那么我将使用更准确的扩展NumberFormatException。如果有更多的值不仅仅是没有可区分含义的值,您也可以简单地使用NumberFormatException而不是扩展它。