在Python中,异常处理是通过try-except
语句来实现的:
try:
result = 10 / 0
except ZeroDivisionError:
print("Error: Division by zero")
在这个例子中,尝试执行除法操作10 / 0
会引发ZeroDivisionError
异常。
你还可以针对多种异常类型进行处理,如下所示:
try:
num = int(input("Enter a number: "))
result = 100 / num
except ValueError:
print("Error: Invalid input. Please enter a number.")
except ZeroDivisionError:
print("Error: Division by zero.")
在这个例子中,如果用户输入的不是一个数字,会引发ValueError
异常,如果输入的数字是0,会引发ZeroDivisionError
异常。通过分别捕获这两种异常,我们可以给用户提供更具体的错误信息。
除了try-except
,Python还提供了else
和finally
子句,它们可以进一步扩展异常处理的功能:
-
else
子句:当try
块中的代码正常执行,没有引发任何异常时,else
块中的代码会被执行。
-
finally
子句:无论是否发生异常,finally
块中的代码都会被执行。这对于需要确保某些操作(如关闭文件、释放资源等)始终执行的场景非常有用。
下面是一个包含else
和finally
子句的异常处理示例:
try:
file = open("data.txt", 'r')
content = file.read()
except FileNotFoundError:
print("文件不存在!")
else:
print("文件内容: ", content)
finally:
file.close()
在这个例子中,如果文件存在,else
块会打印文件内容;无论文件是否存在,finally
块都会执行关闭文件的操作。
最后,如果你想要捕获所有类型的异常,可以使用Exception
类作为except
块的捕获对象:
try:
eval(input("输入一些危险的代码吧:"))
except Exception as e:
print(f"安全第一,阻止了不安全的操作:{e}")
在这个例子中,使用eval
函数执行用户输入的代码存在安全风险,因此我们使用try-except
来捕获所有异常,并打印出异常信息,以防止程序因执行恶意代码而崩溃。
总结一下,Python中的异常处理是通过try-except
语句来实现的,你可以针对特定的异常类型进行处理,也可以使用except
捕获所有类型的异常。
本文《python异常捕获和处理》系
辅导客考试网原创,未经许可,禁止转载!合作方转载必需注明出处:https://www.fudaoke.com/exam/154483.html