下面是一个示例代码,展示了如何捕获异常并抛出一个自定义异常,最终以sys.exit结束程序。
import sys
class CustomException(Exception):
pass
try:
# 这里是可能会出现异常的代码
num1 = int(input("请输入一个整数: "))
num2 = int(input("请输入另一个整数: "))
result = num1 / num2
# 如果出现异常,抛出自定义异常
if result > 10:
raise CustomException("结果大于10")
except ValueError:
print("输入的不是整数")
except ZeroDivisionError:
print("除数不能为0")
except CustomException as e:
print(e)
sys.exit() # 抛出异常后,以sys.exit结束程序
print("程序正常结束")
在上面的代码中,我们定义了一个自定义异常类CustomException
,它继承自Exception
类。然后,在可能出现异常的代码块中,我们通过判断结果是否大于10来抛出自定义异常。在捕获到自定义异常后,我们打印异常信息,并使用sys.exit()
结束程序。如果没有捕获到异常,就会执行最后的print("程序正常结束")
语句。
注意:在使用sys.exit()
结束程序时,会抛出SystemExit
异常,该异常不会被except
块捕获,因此在捕获自定义异常后,我们需要立即使用sys.exit()
结束程序。