自定义异常

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)

 

转载于:https://www.cnblogs.com/whileke/p/11402677.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值