对于一般应用程序使用RuntimeError异常是否可以接受?
raise RuntimeError('config file is missing host address')
我有一些像这样的一次性情况的代码,并且宁愿避免为每个代码创建一次性异常类。所有情况都是致命的,我的目标是向控制台发出明确的信息。基本上我正在寻找类似于已弃用的东西
raise 'config file is missing host address'
答案 0 :(得分:9)
这是......好的。理想情况下, 会为每个合理不同的情况分别设置异常(例如,对于所有“配置文件格式错误”错误的一个例外,在3.x中为“配置文件”重用FileNotFoundError
“存在”等)。但这是一种比较无害的技术债务形式。
缺点是,如果您确实引入了这些单独的异常,则出于向后兼容性的原因,它们可能需要从RuntimeError
进行子类化。这有点难看,但大多无害。