python异常处理之自定义一个自己的异常

python 异常处理之自定义一个自己的异常

# -*- coding:utf-8 -*-
#异常处理:必须要有try和一个except(可以有多个)
#		else(如果except语句都没有执行,才会执行) 可选**
#		finally(不管结果怎么样最后都会执行) 可选
# 	结构:
try:
  	 number = int(input('请输入数字:'))
except ValueError as er:
    print('输入值异常',er)
except NameError as er:
    print('输入异常',er)
except:
    print('未知错误')
else:
    print('没有错误!')
finally:
    print('end')

#----------^-^我是分割线^-^----------------
 class MyExcept1(Exception):   ##自定义一个异常,继承了Exception

    def __init__(self,value):
        self.value = value
        
    def __str__(self):     ##返回打印信息
        return self.value

class MyExcept2(Exception):   ##自定义一个异常,继承了Exception

    def __init__(self,value):
        self.value = value
        
    def __str__(self):
        return self.value


#创建一个Bank类
class Bank(object):

    def __init__(self):
        self.blance = 500     ##金额大小
        
    def withDrawal(self,number):  		 ##定义判断方法
        if self.blance < number:         ##如果要取的钱大于你的金额
            raise MyExcept1('你没那么多钱!!')      ###抛出异常,并给出提示信息
        elif number < 0:                 ##如果要取的钱为负数
            raise MyExcept2('取款不能为负数  !  !')       ###抛出异常,并给出提示信息
        self.blance -= number            ###正常取钱的情况
        return self.blance                   ###返回剩下的金额

# eg:取钱实例
my = Bank() 
num = int(input('请输入取款金额:'))
try:
    money=my.withDrawal(num)
    print('你还剩余:',money)
except MyExcept1 as i:
    print(i)
except MyExcept2 as u:
    print(u)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值