异常处理-python进阶篇十一

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了异常处理-python进阶篇十一脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

  Python使用被称为异常 的特殊对象来管理程序执行期间发生的错误。每当发生让Python不知所措的错误时,它都会创建一个异常对象。如果你未对异常进行处理,程序将停止,并显示一个traceback,其中包含有关异常的报告。

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

PRint(5/0)

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

  1、使用try-except 代码块

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

  2、使用try-except-else代码块

  通过将可能引发错误的代码放在try-except 代码块中,可提高这个程序抵御错误的能力。错误是执行除法运算的代码行导致的,因此我们需要将它放到try-except 代码块中。这个示例还包含一个else 代码块;依赖于try 代码块成功执行的代码都应放到else 代码块中:

print("Give me two numbers, and I'll 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: #尝试执行try 代码块中的除法运算
        answer = int(first_number) / int(second_number)
    except ZeroDivisionError: #except 代码块告诉Python,出现ZeroDivisionError 异常时该怎么办
        print("You can't divide by 0!")
    else:
        print(answer)
'''
Give me two numbers, and I'll divide them.
Enter 'q' to quit.
First number: 5
Second number: 0
You can't divide by 0!
First number: 5
Second number: 2
2.5
First number: q
'''

&nbsp;  3、处理FileNotFoundError 异常

  使用文件时,一种常见的问题是找不到文件:你要查找的文件可能在其他地方、文件名可能不正确或者这个文件根本就不存在。

filename = 'alice.txt'
try:
    with oPEn(filename) as f_obj:
        contents = f_obj.read()
except FileNotFoundError:
    msg = "Sorry, the file " + filename + " does not exist."
    print(msg)

脚本宝典总结

以上是脚本宝典为你收集整理的异常处理-python进阶篇十一全部内容,希望文章能够帮你解决异常处理-python进阶篇十一所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。