我发现自己试图在Python程序中经常将构造函数参数转换为正确的类型.到目前为止,我一直在使用与此类似的代码,因此我不必重复异常参数:
class ClassWithThreads(object):
def __init__(self, num_threads):
try:
self.num_threads= int(num_threads)
if self.num_threads <= 0:
raise ValueError()
except ValueError:
raise ValueError("invalid thread count")
Run Code Online (Sandbox Code Playgroud)
这是一个好习惯吗?我是否只是不打扰捕获转换上的任何异常并让它们传播给调用者,可能的缺点是缺少有意义且一致的错误消息?