手记

【2023年】第59天 自定义异常与抛出异常

一、自定义抛出异常函数 --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)

0人推荐
随时随地看视频
慕课网APP