Python-异常处理( try-except )

 1 介绍

        如下图,在程序运行过程中,经常会因为异常导致退出,比如FileNotFoundError,ZeroDivisionError,ValueError等,这些异常可以通过编写代码处理异常提示错误,并且让程序继续运行。

        每当Python运行发生错误时,都会创建异常对象,针对这些异常对象,通过 try-except 代码块让Python执行指定的操作,同时告诉Python接下来该怎么办,而不会直接退出程序的运行。

2 出现错误时进行提示

代码编写:

print('input 2 numbers to divide')
print("Enter 'q' to quit")
while True:
    first_number=input("First number:")
    if first_number == 'q' or first_number == 'Q':
        print("Quit because you input 'q'!")
        break
    second_number=input("Second number:")
    if second_number == 'q' or second_number == 'Q':
        print("Quit because you input 'q'!")
        break
    try:
        answer = int(first_number) / int(second_number)
    except ZeroDivisionError:
        print("You cannot divide by 0!")
    else:
        print(f"{first_number} / {second_number} = {answer}")

运行结果:

input 2 numbers to divide
Enter 'q' to quit
First number:4
Second number:3
4 / 3 = 1.3333333333333333
First number:5
Second number:0
You cannot divide by 0!
First number:q
Quit because you input 'q'!

3 出现错误时,不做任何操作,程序继续执行

代码:通过pass实现


print('input 2 numbers to divide')
print("Enter 'q' to quit")
while True:
    first_number=input("First number:")
    if first_number == 'q' or first_number == 'Q':
        print("Quit because you input 'q'!")
        break
    second_number=input("Second number:")
    if second_number == 'q' or second_number == 'Q':
        print("Quit because you input 'q'!")
        break
    try:
        answer = int(first_number) / int(second_number)
    except ValueError:
        pass
    except ZeroDivisionError:
        pass
    else:
        print(f"{first_number} / {second_number} = {answer}")

执行结果:

input 2 numbers to divide
Enter 'q' to quit
First number:4
Second number:0
First number:4
Second number:3
4 / 3 = 1.3333333333333333
First number:q
Quit because you input 'q'!

你可能感兴趣的:(Python,python,gnu,开发语言)