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

Python——异常处理

时间:2018-10-10 22:06:38      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:pytho   put   turn   else   print   func   需要   exe   支持   

异常:代码中的逻辑错误

程序一旦发生错误,就从错误的位置停下来不继续执行

使用try和except就能处理异常

技术分享图片
try:
    int(aaa)
    print(111)    # 检查错误的位置
    1/0
    print(222)
    name
    print(333)
    2 + 3
    [][3]
    {}[k]
    ret = int(input(number >>> ))
    print(ret * *)
except ValueError:
    print(输入的数据类型有误)
except IndexError:
    print(超出列表的最大长度了)
except Exception:
    print(你错了)
else:
    print(没有异常的时候执行此代码)
finally:
    print(不管代码有没有异常,都执行此代码)
View Code

  1. try:

    需要处理的错误代码

  2. except:     

    except + 错误类型:当代码发生错误且错误类型符合时,执行此段代码
    except 支持多分支
    except + Exception: 万能异常处理
      有了万能异常处理仍然要把能预测到的问题单独处理
      单独处理的所有内容都应该写在万能异常之前

技术分享图片
# 可以看到报错信息的异常处理

try:
    int(aaa)
    print(111)    # 检查错误的位置
    1/0
    print(222)
    name
    print(333)
    2 + 3
    [][3]
    {}[k]
    ret = int(input(number >>> ))
    print(ret * *)
except Exception as error:  # 可以看到报错信息
    print(你错了,error)
View Code

 

  3. else:

    没有异常的时候执行此代码

  4. finally:

    不管代码有没有异常,都执行此代码
    finally 和 return 相遇的时候,依然会执行
      执行到return时,发现后面还有finally,先执行finally,再返回
      常用于在函数中做异常处理,不管是否异常,去做一些收尾工作(如:关闭文件)

技术分享图片
# finally的用法

# (1)不用finally
def func():
    try:
        f = open(file,w)
        f.close()
        return True
    except:
        f.close()
        return False
print(func())


# (1)使用finally
# 执行到return时,发现后面还有finally,先执行finally,再返回
def func():
    try:
        f = open(file,w)
        return True
    except:
        return False
    finally:
        print(执行finally了)
        f.close()
print(func())
View Code

 

Python——异常处理

标签:pytho   put   turn   else   print   func   需要   exe   支持   

原文地址:https://www.cnblogs.com/xc-718/p/9768725.html

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