exception.py

Posted *飞飞*

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了exception.py相关的知识,希望对你有一定的参考价值。

try:
    raise Exception
except Exception as e:
    print(e)

try:
    raise Exception(comment)
except Exception as e:
    print(e)


class SomeException(Exception):
    print(aa)
    pass
try:
    raise SomeException #只能捕获这个异常,不能捕获其他如1/0异常
except SomeException:   #这个为什么不行
    print(no)

‘‘‘
try:
    a=0
    1/0
except ZeroDivisionError:
    if a==1: print(‘no problem‘)
    else: raise  #捕捉到了异常,但又想重新引发它
‘‘‘
#多个except语句
#只有第一条语句的错误发现,然后捕获这个异常后,后面语句的异常不会被捕获
try:
    a=1/0
    b=a+1
except TypeError:
    print(1)
except ZeroDivisionError:   
    print(2)
#结果是2

#一个块捕获多个异常
#也只能捕获第一个异常
try:
    a=1/0
    b=a+1
except (TypeError,ZeroDivisionError):   
    print(error)


try:
    b=a+1
    a=1/0
except (ZeroDivisionError,TypeError) as e:  #捕捉对象 
    print(e)
#Can‘t convert ‘int‘ object to str implicitly捕捉第一条语句

#全捕捉
try:
    a=1/0
    b=a+1
except:   
    print(error)

#else 语句
while True:
    try:
        x=input(x)
        y=input(y)
        print(x/y)
    except:
        print(invalid, input again)
    else:   #没有异常引发的情况下执行
        break

#finally 语句
#finally 用于关闭文件或网络套接字时会非常有用
#不管是否发生异常,finally一定会被执行
#sys.exit退出当前程序,finally中内容仍然会被执行
#x被初始化为None原因,由于ZeroDivisionError存在,x就永远不会被赋值
#这样就导致在finally中使用del删除它的时候产生异常,而且这个异常是无法捕捉的
x=None
try:
    x=1/0
finally:    #finally 要与 try 对齐
        print(cleaning up)    #在程序崩溃前,对x的清理已经完成了
        del x

try:
    1/0
except ZeroDivisionError:
    print(1)
else:
    print(2)
finally:
    print(3)
#结果1,3

 

以上是关于exception.py的主要内容,如果未能解决你的问题,请参考以下文章

unittest 8 断言异常(assertRaises)

测试教程网.unittest教程.8. 断言异常

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?