python进阶之异常处理

Posted 蔠缬草

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python进阶之异常处理相关的知识,希望对你有一定的参考价值。

  异常处理

  在代码运行时,会因为各种原因出现bug,而程序遇到bug就会中断运行,而在日常生产中程序是要长时间运行不能随意中断的。因此就需要我们提前做好异常处理。

  异常

print(x)  # 一般报错就会打印一串红色的错误信息

  

  异常处理:为了更合理的处理代码可能出现的错误

try:
    print(x)
except NameError as error:
    print(错误:%s% error)  # 错误:name ‘x‘ is not defined
else:
    print(没有异常执行else的代码)
print(其他的代码)   # 会正常执行

 

  通过上面的例子,总结出的异常处理格式为:

"""
    try:
        代码  一般放一些我们认为可能会出错的代码
    except 错误类型:   这里可以用as+变量名来接收错误信息
        错误后执行的代码    一般就是将错误信息写进log文件
    ......              可以写多个except判定多种错误类型
    else:
        正常是执行的代码
    代码                 不管异常与否都执行的代码
"""

 

  特殊:finally,一般在函数中做异常处理用,和return遇到也会正常执行,可以做一些收尾的工作,比如:关闭打开的文件。

def func():
    try:
        f = open(except_file, w)
        f.write(test)
        return True
    except:
        return False
    finally:
        print(this is finally)
        f.close()
print(func())

 

  特殊:万能异常类型:Exception

try:
    print(i)
except Exception as error:
    print(错误:%s% error)
"""
    虽然有了万能的异常处理机制,但是能预测到的异常还是要单独处理
    并且单独的异常处理内容要当在万能之前
"""

 

以上是关于python进阶之异常处理的主要内容,如果未能解决你的问题,请参考以下文章

Java进阶篇之异常处理

Java进阶篇之异常处理

SpringBoot进阶之统一异常处理(含源码)

10 Python编程:从入门到实践---异常处理进阶

python学习笔记-面向对象进阶&异常处理

python学习笔记-面向对象进阶&异常处理