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              # 什么都不要做。充当占位符,以后可能要做点什么,比如写入异常日志。

只要程序依赖于外部因素,如用户输入、存在指定的文件、有网络链接,就有可能出现异常。

posted @ 2023-07-10 06:37  钱塘江畔  阅读(25)  评论(0)    收藏  举报