我正在自学python,但我仍然是业余爱好者,想起了所有关键字。
所以;一个简单的问题,是否有办法使用if
语句处理异常?
我可以使exception(NameError)
打印一些内容。但是,如果要执行异常,我想使用if
语句,然后执行此操作。
帮助将不胜感激!
最佳答案
try-except块是专门为捕获异常而设计的。 if语句是有条件的,不适用于异常。
这是一个演示异常处理的简单程序:
class SomeException(Exception):
pass
try:
print("In try block.")
raise SomeException()
except SomeException:
print("In except block.")
另外,如果您需要有关异常的信息,则可以使用特殊的except块:
class SomeException(Exception):
pass
try:
print("In try block.")
raise SomeException()
except SomeException as exc: #exc is the exception object
print("In except block.")
创建异常时,可以选择传递一个或多个参数来指示引发异常的原因:
class SomeException(Exception):
pass
try:
print("In try block.")
raise SomeException("message")
except SomeException as exc:
print(exc.args[0]) #Prints "message"
这是我发现特别有用的tutorial on exceptions。