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)