Python中异常处理主要使用`try-except`语句。以下是异常处理的基本结构:
```python
try:
可能会引发异常的代码块
except ExceptionType as e:
当特定异常类型发生时执行的代码块
`try`块包含可能引发异常的代码。
`except`块用来捕获和处理特定类型的异常。
`ExceptionType`是异常类型,可以是内置的异常类型,如`ZeroDivisionError`、`TypeError`等,也可以是自定义的异常类型。
`e`是异常对象,包含了异常的详细信息。
除了`try-except`,Python还支持`else`和`finally`子句:
`else`块在`try`块中的代码没有引发任何异常时执行。
`finally`块无论是否发生异常都会执行。
异常处理示例:
```python
try:
result = 10 / int(input("Enter a number: "))
except ZeroDivisionError:
print("Error: Division by zero is not allowed.")
except ValueError:
print("Error: Please enter a valid number.")
else:
print(f"The result is {result}.")
finally:
print("Execution completed.")
这个示例中,程序尝试将用户输入的字符串转换为整数并执行除法。如果用户输入的是"0",则会触发`ZeroDivisionError`;如果输入的不是数字,则会触发`ValueError`。无论是否发生异常,`finally`块都会执行,打印出"Execution completed."
请告诉我,