首页 > 编程知识 正文

python手动抛出异常,python自定义函数

时间:2023-05-06 10:31:26 阅读:16924 作者:1468

python自定义异常和主动抛出异常

自定义异常主要利用自己定义的异常类的名称,对异常进行分类,没有更多作用

导入re

导入操作系统

classexistserror (执行) :

传球

classkeyinvaliderror(exception ) :

传球

deffun(Path,mnk ) :

''''

在前往path路径的文件中,找到前缀为prev的数据行,检索数据并将其返回给调用方。

1000,成功

1001,文件不存在

1002,关键字为空

1003,未知错误

.

:return:

''''

响应={ ' code ' : 1000,' data': None}

try:

withopen(path,encoding='utf-8 ' ) as f1:

line=f1.readline () )

str=re.match('mnk ',line )。

ifnotOS.path.Exists(path ) :

raise Exception抛出ExistsError类的实例

if not str:

raise KeyInvalidError (

except ExistsError as e: #下的捕捉异常逐行向下匹配,如有捕捉异常则不向下执行

捕捉到response['code']=1003 #异常后,可以制作自己定义的东西

print (响应[ '代码' ]

except Exception as e: #**自己定义多个异常类名的目的是区分将来不同的错误类型,没有更多意义

响应[ '代码' ]=1004

print (响应[ '代码' ]

fun (r ' e : (第26天) s 15第26天)测试',' p ' )

在此,对积极抛出异常进行一点总结

#知识点:如何定制班级

让classMyException(Exception ) : # ) myexception类继承exception

def __init__(self,name,age ) :

self.name=name

self.age=age

try:

#知识点:主动抛出异常就是实例化异常类

raisemyexception('Zhansgan ',19 ) #必须实例化异常,并在实例化时传递参数

except MyException as obj: #这里表示一个软件包。

print(obj.age,obj.name )捕获MyException类带来的信息

except Exception as obj: #万能捕获,以前的可能无法捕获,这里添加Exception作为保底

是打印(obj )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。