栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python--异常处理机制

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python--异常处理机制

一、错误与异常的区别:

1、错误

语法错误:代码不符合解释器或者编译器的语法,例如 缩进字符、循环语句的冒号

逻辑错误:不完整或不合法输入、算法问题,比如0作除数

2、异常

程序遇到逻辑或者算法问题

运行过程中计算机错误(内存不够或IO错误)

这两个或抛出异常,如果没有手动对其进行处理,那么此异常就会被解释器捕获,处理的方法

为忽略或者终止程序

3、错误和异常的区别:

错误是代码运行前

错误是非正常的,不应该出现的

异常是代码运行时产生的 ,解释器检测到错误你并且认为是异常,抛出异常

如果不捕获处理可能会终止程序

常见异常类型:

1,# AttributeError: 'str' object has no attribute 'yy',属性错误。AttributeError:尝试访问未知的对象属性
# a = 'xxx'
# a.yy()

2,ValueError: invalid literal for int() with base 10: 'abc',传入的类型不对
# int('abc')

......

 

 

二、异常机制:

  1. 异常发生不终止程序
  2. 异常发生做特殊处理
  3. 不终止程序也要做特殊处理

三、异常处理机制

1  try-except格式的异常处理机制

   

:异常捕获,如果捕获到了异常就处理except里的内容,

遇到异常之后的try监控的这段代码后面不执行了(就出错的地方后面不执行),捕获except里面的,匹配到一个except之后就会跳过try except捕获,执行后面的代码,

如果except捕获的异常与触发的异常错误不一样,就会抛出异常,

父类异常与子类异常:父异常可以捕获所有子类异常,一般建议父类异常放在最后,因为如果捕获到错误不好排查是出现那种类型的错误,

2  try-except-else的格式

 

 (1)有异常的时候else不执行

(2)没有异常的时候else会执行

 3 finally,不管有没有异常,不管异常有没有被捕获,都会执行finally里的语句

 4,raise手动触发异常

raise--不加其他参数。在except语句中,引发当前上下文中捕获异常,或默认引发RuntimeError。

raise 异常类--raise后面带一个异常类名称,表示引发执行类型的异常

raise 异常类(异常信息)--在引发指定类型的异常,同时附带异常的描述信息。  

一旦执行了raise语句,raise后面的语句将不能执行。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/846528.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号