用法: 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')
运行结果:
练习:定义两个异常类,并继承基础类,然后再通过书写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)