欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

小橙子新手出道学异常呀

程序员文章站 2022-07-02 22:31:01
异常是用try-except代码块处理的,它让Python执行指定操作,同时告诉Python发生异常应该怎么办 。使用了try-except代码块时,即便出现异常,程序也将继续运行:显示出你编写的友好的错误信息,而不是令用户迷惑的traceback。处理ZeroDivisionError异常print(5/0)Traceback (most recent call last): File "D:/pythonProject/文件2.py", line 1, in ...

异常是用try-except代码块处理的,它让Python执行指定操作,同时告诉Python发生异常应该怎么办 。使用了try-except代码块时,即便出现异常,程序也将继续运行:显示出你编写的友好的错误信息,而不是令用户迷惑的traceback。
处理ZeroDivisionError异常

print(5/0)
Traceback (most recent call last):
  File "D:/pythonProject/文件2.py", line 1, in <module>
    
ZeroDivisionError: division by zero  

很明显,0不能做除数,这里的ZeroDivisionError是一个异常对象。Python在遇到这种情况时,将停止运行,而我们可以根据这些信息对程序修改。下面我们告诉Python发生这种错误的时候怎么办,如果再次发生这样的错误,那么就有备无患了。

try:
    print(5/0)
except ZeroDivisionError:
    print("you can't divide by  zero! ")

运行结果如下:

you can't divide by  zero! 

使用异常避免崩溃
下面来创建一个只执行除法运算的简单计算器:

print("give me two numbers,and i'will divide them.")
print("enter ‘q’ to quit.")

while True:
    first_number = input("\nFirst number:")
    if first_number == 'q':
        break
    second_number = input("Second number:")
    if second_number == 'q':
        break
    answer = int(first_number) / int(second_number)
    print(answer)

这个程序没有采取任何处理错误的措施,因此让它执行除数为0的除法运算时,它将崩溃。

enter ‘q’ to quit.

First number:2
Second number:0
Traceback (most recent call last):
  File "D:/pythonProject/橙子1.py", line 11, in <module>
    answer = int(first_number) / int(second_number)
ZeroDivisionError: division by zero

程序崩溃可能会泄露信息,让那些怀有恶意的用户通过traceback获悉你不希望他知道的信息。而通过将可能的错误放在try-except代码块中,可以提高这个程序抵御错误的能力。
`

print("give me two numbers,and i'will divide them.")
print("enter ‘q’ to quit.")

while True:
    first_number = input("\nFirst number:")
    if first_number == 'q':
        break
    second_number = input("Second number:")
    try:
        answer = int(first_number) / int(second_number)
    except ZeroDivisionError:
        print("you can't divide by 0 !")
    else:
        print(answer)

可以看到


give me two numbers,and i'will divide them.
enter ‘q’ to quit.

First number:2
Second number:0
you can't divide by 0 !

可以说,except代码块告诉Python,如果它尝试运行try代码块中的代码时引发了异常,该怎么办。

本文地址:https://blog.csdn.net/qq_52006804/article/details/110878139

相关标签: python 编程语言