python学习 (三十二) 异常处理

1 异常:

def exceptionHandling():
    try:
        a = 10
        b = 0
        d = a / b
        print(d)
    except ZeroDivisionError as ex:
        print("exception 1 " + str(ex) )
    except BaseException as ex:
        print("exception 2 " + str(ex))

exceptionHandling()

2 : else(如果没有异常)

def exceptionHandling():
    try:
        a = 10
        b = "d"
        d = a / b
        print(d)
    except ZeroDivisionError as ex:
        print("exception 1 " + str(ex) )
    except BaseException as ex:
        print("base exception")
    else:                          // 如果没有上面两个异常,会走到这里
        print("OK")

exceptionHandling()

 3:Finally

def exceptionHandling():
    try:
        a = 10
        b = 5
        d = a / b
        print(d)
    except ZeroDivisionError as ex:
        print("exception 1 " + str(ex) )
    except BaseException as ex:
        print("base exception")
    else:
        print("OK")
    finally:                          // 无论有无异常,都会执行
        print("must execute")

exceptionHandling()

 4: 抛出异常

  raise  XXXX

def exceptionHandling():
    try:
        a = 10
        b = 0
        d = a / b
        print(d)
    except ZeroDivisionError as ex:
        print("exception 1 " + str(ex) )
        raise ZeroDivisionError("aaaaaaaaaaaa")                 // 可以在代码里面抛出异常
    except BaseException as ex:
        print("base exception")
    else:
        print("OK")
    finally:
        print("must execute")

exceptionHandling()

 

原文地址:https://www.cnblogs.com/liufei1983/p/9865999.html