我有一种方法可以检查某些东西并且可以
- 本身引发异常
- 返回真
- 返回假
我想正确地捕获异常以自己提出一个异常,但如果测试返回 False。这样做的错误方法是
try:
if not check():
raise MyException()
except:
raise MyException()
因为第一个MyException
被抓住except
了。正确处理此问题的一种方法是
try:
flag = check()
except:
raise MyException()
else:
if not flag:
raise MyException()
这是处理这种情况的唯一方法,还是有另一种更有效的方法来处理它,摆脱flag
变量?