Menu
CoddyTech

用户自定义异常

Coddy Python 异常处理 课程的第 12 课,共 16 课。

如何创建用户自定义异常?

分为三个步骤:

1. 通过继承 Exception 类来创建异常类。

2. 针对特定条件引发创建的异常。

3. 处理该异常。

问:假设我想在程序中避免“除以 5”。如果用户尝试除以 5,我希望程序生成一个异常。

#step-1:创建 Exception 类
class FiveDivisionError(Exception):
	pass

FiveDivisionError 是我们创建的异常。你也可以创建构造函数并配置消息。不过,我们会在 raise 语句中配置消息。

#step-2:满足特定条件时抛出 Exception
try:
	a = int(input("1st Number:"))
	b = int(input("2nd Number:"))
	if b == 5:
		raise FiveDivisionError("Cannot divide by five")
	div = a/b
	print("Division:",div)

在上面的代码片段中,如果满足 b == 5 这个条件,我们就会引发 FiveDivisionError。我们使用 try 块来处理异常。

#第 3 步:使用 except 处理异常
except Exception as obj:
	print(obj)

上面的代码片段会处理发生的异常。现在,轮到你解决另一个问题了。

challenge icon

挑战

简单

年龄会作为输入传递给你的函数 'access'。请补全这个函数:如果年龄小于 18,就打印 "Access Denied!" 并停止函数执行;否则,打印 "Session Created!"。只能使用异常处理。创建自定义异常 'AccessError'。

亲手试试

def access(age):
    pass

Python 异常处理中的所有课

自己练习: Python 在线编译器