except语句与自定义异常
发布时间:2023-06-12 11:18:38
一、except语句
在Python中,异常是在程序运行时出现的错误或问题。如果不加处理的话,异常可能会导致程序崩溃。try和except语句组合可以帮助我们处理异常,让程序在发生错误的情况下也能正常运行。
try语句用于包裹可能触发异常的代码块,在try语句中的代码如果发生异常,Python会停止执行这些代码,并且转而执行except语句中的代码,从而维持程序的正常运行。
下面是一个例子:
try:
x = int(input("请输入一个整数: "))
y = int(input("请输入另一个整数: "))
z = x / y
print(z)
except:
print("出错了!")
在这个例子中,我们尝试让用户输入两个整数并计算它们的商。如果用户输入的是0,程序会发生除零异常,这个异常会触发except语句块中的代码,而不是终止程序运行。
请输入一个整数: 5 请输入另一个整数: 0 出错了!
二、自定义异常
除了Python内置的异常类型以外,我们也可以根据具体情况自定义异常类型。
自定义异常通常需要从 Exception 类继承,然后我们可以为这个类添加额外的方法和属性。在需要捕捉这个异常的地方抛出这个异常即可。
下面是一个例子:
class MyError(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return str(self.value)
try:
raise MyError(2 * 2)
except MyError as e:
print('My exception occurred, value:', e.value)
在这个例子中,我们自定义了一个异常MyError,需要传入一个值。然后我们在try语句块中用raise语句抛出这个异常,接着在except语句中捕捉这个异常并打印出传入的值。
My exception occurred, value: 4
总结:
通过try和except语句,我们可以避免程序在出现异常时直接崩溃。而通过自定义异常,我们可以让异常信息更加明确,增强程序的可读性和可维护性。
