在Python中,处理异常主要使用 try-except 语句。当可能出现异常的代码放在 try 块中时,如果 try 块中的代码执行过程中发生了异常,Python会停止当前的执行流程,跳转到与该异常类型相对应的 except 块中执行。
以下是一个简单的示例:
try: # 可能出现异常的代码 result = 10 / 0 except ZeroDivisionError: # 处理除以零的异常 print("除数不能为零!") except Exception as e: # 处理其他类型的异常 print(f"发生了未知错误:{e}") finally: # 无论是否发生异常,都会执行的代码 print("异常处理结束。")
在这个示例中,我们尝试将一个数除以零,这会引发 ZeroDivisionError 异常。我们将这个可能引发异常的代码放在了 try 块中。当我们遇到 ZeroDivisionError 异常时,Python会跳转到与该异常类型相对应的 except 块中执行,打印出 “除数不能为零!”。如果我们遇到了其他类型的异常,我们会执行第二个 except 块中的代码。finally 块中的代码则会在所有情况下执行。
除了 ZeroDivisionError,Python还提供了许多其他的内置异常类型,如 ValueError、TypeError 等,我们可以根据需要使用相应的 except 块来处理这些异常。此外,我们还可以自定义异常类型,并在代码中使用 try-except 语句来处理它们。