📅  最后修改于: 2023-12-03 15:18:59.476000             🧑  作者: Mango
在Python中,当程序发生异常时,会抛出一个Exception类的实例,并且程序会终止执行。为了让程序有更好的异常处理能力,Python提供了raise和exit等异常处理方法来帮助程序员快速准确地定位异常并进行处理。
raise语句可以用于手动触发异常。抛出异常的语法为raise ExceptionType,其中ExceptionType为异常类型,message为异常信息。如果不指定ExceptionType,将默认为RuntimeError。
def divide(a, b):
if b == 0:
raise ZeroDivisionError("Cannot divide by zero!")
else:
return a / b
print(divide(6, 2)) # 输出:3.0
print(divide(6, 0)) # 抛出异常:ZeroDivisionError: Cannot divide by zero!
此外,raise语句还可以用于在异常被捕获后重新抛出,通常用于链式异常处理。
try:
divide(6, 0)
except ZeroDivisionError:
print("Division by zero occurred!")
raise
exit方法可以用于程序的退出,它同样可以传入一个退出码作为参数,表示程序退出时的返回值。默认情况下,exit方法传入的参数为0,表示程序正常退出。
import sys
def main():
print("Hello world!")
sys.exit(1)
if __name__ == "__main__":
main()
在上面的例子中,程序在执行完print语句后调用了exit(1)方法,表示程序以1作为退出码退出。