异常处理实践:如何在Python中优雅捕获错误?
在Python中,优雅地捕获错误主要是通过使用try/except语句来实现的。以下是一些基本的实践:
- 明确的错误处理:
当你知道可能会发生什么类型的错误时,直接针对这些错误编写except子句。
def divide(a, b):
try:
return a / b
except ZeroDivisionError:
print("Cannot divide by zero!")
return None
result = divide(10, 2)
if result is not None:
print(result)
- 使用
except Exception as e
:
当你对将要捕获的错误类型一无所知,或者想要获取具体的异常信息时,可以这样写。
def risky_operation():
some_random_value = 1 / (random.random() - 0.5)
return some_random_value
try:
result = risky_operation()
if result > 0:
print("Success! Result is:", result)
else:
print("Operation failed with result less than zero.")
except Exception as e:
print("An error occurred:", str(e))
- 捕获特定类型的异常:
当你对可能发生的错误类型有明确的认识时,可以直接针对这些类型进行捕获。
def divide_by_zero():
return 1 / 0
try:
result = divide_by_zero()
except ZeroDivisionError:
print("Cannot divide by zero!")
通过以上的实践,你可以优雅地捕获和处理Python中的错误。
还没有评论,来说两句吧...