一、自定义抛出异常函数 --raise
- 将信息以报错的形式抛出
用法:
raise 异常类型(message)
参数:
message: 错误信息
返回值:
无返回值
练习1:使用test2调用test,然后raise在test中实现,raise后必须要跟一个异常类型!
def test(number):
if number == 100:
raise ValueError('number 不可以是100')
return number
result = test(50)
print(result)
def test2(number):
try:
return test(number)
except ValueError as e:
return e
result = test2(100)
print(result)
运行结果:
练习2:raise后面也可以跟通用异常类型Exception
def test3(name):
if name == 'dewei':
raise Exception('dewei不可以被填写')
return name
test3('dewei')
运行结果:
二、自定义异常类
- 继承基类——Exception
- 在构造函数中定义错误信息
练习:定义两个异常类,并继承基础类,然后再通过书写raise异常函数,最后使用try except打印我们的异常信息
class NumberLimitError(Exception):
def __init__(self, message):
self.message = message
class NameLimitError(Exception):
def __init__(self, message):
self.message = message
def test5(name):
if name == 'dewei':
raise NameLimitError('dewei不可以被填写')
return name
def test6(number):
if number > 100:
raise NumberLimitError('数字不可以大于100')
return number
print('----------------------')
try:
test5('dewei')
except NameLimitError as e:
print(e)
try:
test6(1001)
except NumberLimitError as e:
print(e)