python - 异常
发生错误时,python创建异常对象。如果编写了对异常处理的代码,程序将继续运行,否则程序将停止并显示traceback。
1. 使用try-except处理ZeroDivisionError异常
try:
print(5/0)
except ZeroDivisionError:
print("You cant't divide by zero!")
2. else代码块
prompt = "Give me two number, and I'll divide them."
prompt += "\nEnter 'q' to quit."
print(prompt)
while True:
first_number = input("First number: ")
if first_number == 'q':
break
second_number = input("Second number: ")
if second_number == 'q':
break
try:
answer = int(first_number)/int(second_number)
except ZeroDivisionError:
print("You can't divide by zero!")
else:
print(answer)
3.处理FileNotFoundError异常
filename = 'alice.txt' # 使用绝对路径E:/jacob/myJupyter/data/alice.txt ,相对路径'test/alice.txt' '/test/alice.txt' 都报FileNotFoundError
try:
with open(filename, encoding='utf-8') as f:
lines = file_object.readlines()
except FileNotFoundError:
print(f"Sorry, the file {filename} does not exist.")
for line in lines:
print(line.rstrip())
4.静默失败
filename = 'alice.txt'
try:
with open(filename, encoding='utf-8') as f:
lines = file_object.readlines()
except FileNotFoundError:
pass # 什么都不要做。充当占位符,以后可能要做点什么,比如写入异常日志。
只要程序依赖于外部因素,如用户输入、存在指定的文件、有网络链接,就有可能出现异常。

浙公网安备 33010602011771号