小橙子新手出道学异常呀
程序员文章站
2022-04-02 11:06:10
异常是用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
推荐阅读