自定义异常
Posted whileke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义异常相关的知识,希望对你有一定的参考价值。
1.自定义异常
import os class ExistsError(Exception): # 自定义异常,将要定义的异常继承Exception,就可以在捕捉异常那里捕捉到 pass class KeyInvalidError(Exception): pass def new_func(path,prev): """ 去path路径的文件中,找到前缀为prev的一行数据,获取数据并返回给调用者 1000,成功 1001,文件不存在 1002,关键字为空 1003,位置错误 :param path: :param prev: :return: """ response = ‘code‘:1000,‘date‘:None try: if not os.path.exists(path): raise ExistsError() if not prev: raise KeyInvalidError() except ExistsError as e: response[‘code‘]=1001 response[‘date‘]= "文件不存在" except KeyInvalidError as e: response[‘code‘] = 1002 response[‘date‘] = "关键字为空" except Exception as e: response[‘code‘] = 1003 response[‘date‘] = "未知错误" return response
2.如果自定义异常类中需要传值,抛出的时候就需要传值
class MyExceptError(Exception): def __init__(self,key,value): self.key = key self.value = value try: raise MyExceptError(‘1001‘,"关键字为空") except MyExceptError as e: print(e)
以上是关于自定义异常的主要内容,如果未能解决你的问题,请参考以下文章