码迷,mamicode.com
首页 > 编程语言 > 详细

python进阶之异常处理

时间:2018-01-17 01:24:51      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:nbsp   print   红色   not   gpo   div   错误   ror   exce   

  异常处理

  在代码运行时,会因为各种原因出现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进阶之异常处理

标签:nbsp   print   红色   not   gpo   div   错误   ror   exce   

原文地址:https://www.cnblogs.com/zxc-Weblog/p/8298349.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!