我正在自学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

09-11 20:18