Python(6) 异常处理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/irving512/article/details/78119213

1. 内建异常类型与新建异常类型

# 内建异常类型
# Exception
# AttributeError
# IOError
# IndexError
# KeyError
# ValueError
# NameError
# SyntaxError
# ZeroDivisionError
# 举例
def raise_built_in_exception(index):
    if index < 0:
        # 抛出异常
        raise IndexError("error index %s" % index)
    print(index)


# 新建异常类型
class MyException(Exception): pass

2. 捕获异常

  • try:运行可能会抛出异常的代码。
  • except:该关键字有以下多种功能
    • 捕获一个或多个特定异常
    • 捕获其他所有异常
  • else:当没有出现异常时执行
  • finally:不管如何都执行
def exception_handle():
    try:
        print("try")
    except IndexError as e:
        # 捕获一个异常,并获取异常对象
        # 不对异常进行处理,继续抛出异常
        raise
    except (KeyError, ValueError) as e:
        # 捕获某两类异常,并获取异常对象
        print(e)
    except:
        # 捕获除了上述三种异常之外的所有异常
        print("except")
    else:
        # 当没有捕获异常时执行
        print("else")
    finally:
        # 不管是否捕获异常,都要执行
        print("finally")

猜你喜欢

转载自blog.csdn.net/irving512/article/details/78119213