热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python:一分钟学会异常类及处理

目录什么是异常常见异常异常的处理注意事项什么是异常异常是一个python对象,它会影响正常程序的进行,如果不抛出,会终止程序。常

目录

什么是异常

常见异常

异常的处理

注意事项




什么是异常

异常是一个python对象,它会影响正常程序的进行,如果不抛出,会终止程序。


常见异常


BaseException所有异常的基类
IOError输入输出错误
Exception常见错误的基类
ZeroDivisionError取0错误
RuntimeError运行错误


异常的处理


 1.try—except—else


  • try是是开始有异常的捕捉块
  • except捕捉不同的异常,执行捕捉该异常后的处理语句
  • else则是没有异常时执行的语句

try:f1 = open('filename','w','utf-8')f1.write('wwwwwwww')
except IOError:print('没有找到')
else:print('成功')f1.close()

2.try—except—else—finally


  • try是是开始有异常的捕捉块
  • except捕捉不同的异常,执行捕捉该异常后的处理语句
  • else则是没有异常时执行的语句
  • finally是不管有没有异常都要执行的语句

try:f1 = open('filename','w','utf-8')f1.write('wwwwwwww')
except IOError:print('没有找到')
else:print('成功')f1.close()
finally:print('我一定执行')

3.raise抛出异常

创建一个异常的对象,可以层层向上抛出异常

def nozero():m = input()if 0 not in m:return me = Exception("请不要输入0")raise etry:pp = nozero() print(pp)
except Exception:print(Exception)


注意事项

发生异常时,执行第一个匹配该异常的except子句,所以第一个的异常类通常比第二个子类要小

如ValueError 是 Exception 的子类

a = (2,3,-4,5,6)
total = 0
try:for e in a:if e <0:raise ValueError(str(e) &#43; &#39;数值不能为负&#39;)else:total &#43;&#61; eexcept ValueError:print(&#39;数值不能为负&#39;)
except Exception:print(&#39;发生异常&#39;)else:print(total)finally:print("这是一个异常的deom")

则结果是&#xff1a;

 如Exception 是 ValueError 的子类

a &#61; (2,3,-4,5,6)
total &#61; 0
try:for e in a:if e <0:raise ValueError(str(e) &#43; &#39;数值不能为负&#39;)else:total &#43;&#61; e
except Exception:print(&#39;发生异常&#39;)except ValueError:print(&#39;数值不能为负&#39;)else:print(total)finally:print("这是一个异常的deom")

则结果是&#xff1a;

 JAVA的异常与python相似&#xff1a;

JAVA超详细&#xff1a;异常类型及处理&#xff08;含实例&#xff09;


推荐阅读
author-avatar
乐檬
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有