零基础学python错误error处理详解

2025-11-04 21:07:46

1、try:    print(1111)    1 / 0    print(222)except NameError as error:   # except跟错误类型(系统自带)    print(333, error, type(error))  # 然后自己写的处理代码except ZeroDivisionError as error:    print(444, error, type(error))except TypeError as error:    print(555, error, type(error))except BaseException as error:    print(666, error, type(error))

零基础学python错误error处理详解

2、print('********分割符**********')try:    print(111)    a    print(222)except NameError as error:    print(error)else:  # 如果try内部的代码没有异常抛出,else里的代码会正常执行。    print(333)finally:  # 内部代码一定会执行,但是不影响是否崩溃    print(444)

零基础学python错误error处理详解

3、print('**********可以混合判断*********')try:    print(111)    '1' + 1    print(222)except (NameError, ZeroDivisionError, TypeError) as e:    print(333, e, type(e))except BaseException as e:    print(444, e)

零基础学python错误error处理详解

4、print('*******跨层级********')def fn1(n):    return 1/ndef fn2(n):    return fn1(n)

零基础学python错误error处理详解

5、def fn3(n):    return fn2(n)try:    print(111)    print(fn3(0))    print(222)except BaseException as e:    print(e)

零基础学python错误error处理详解

6、print('***********断言************')def good(n):    assert n  # 如果表达式的值为真,代码继续运行。否则,直接抛出一个AssertionError    return 1/ntry:    print(good(5))except AssertionError as e:    print(e, type(e))

零基础学python错误error处理详解

7、print('********断言升级版*********')def dog(n):    if not n:        raise TypeError('我爱中国')    return 1 / ndef make():    try:        print(dog(0))    except TypeError as e:        print(e, type(e), 111)        raise etry:    make()except BaseException as e:    print(e, type(e), 222)print('**end**')

零基础学python错误error处理详解

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢