Java教程

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

本文主要是介绍【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)

这篇关于【2023年】第59天 自定义异常与抛出异常的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!