博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python3 异常
阅读量:5099 次
发布时间:2019-06-13

本文共 1516 字,大约阅读时间需要 5 分钟。

异常 --- 程序执行时产生的事件,为Python对象

《Python学习手册》笔记

异常总是通过实例对象来识别

默认的异常处理器 --- 打印标准出错信息(包括引发的异常和堆栈跟踪-异常发生时的程序行和函数清单。)

堆栈跟踪:从旧到新的顺序列出异常

 异常作用:

  1. 错误处理
  2. 事件通知
  3. 特殊情况处理
  4. 终止行为
  5. 非常规控制流程
except 捕捉异常 --- 语句定义异常处理方法(异常处理器),如果异常无法捕捉进行上层的传递    (except:)可以捕捉任何异常else 执行没有异常发生时的行为raise 
引发异常 ---
Class()> 当不包括异常名称或数值时,表示重新引发当前异常,一般在exception语句中 raise exception from otherexception --- 附加otherexception到引发异常exception的__cause__属性finally 终止行为 --- 先执行finally代码,再传递异常
assert raise语句的简写    assert 
,
如果test为假,引发AssertionError异常,异常说明内容为data
try:    pass    #raise 
except
,
,...:
except
:
else:
finally:

类异常优点:

  1. 提供类型分类,便于以后修改;
  2. 附加状态信息;
  3. 支持继承;
  4. 超类可以捕捉子类异常;

BaseException(内置异常超类) -> (Exception) -> 异常类

sys.exc_info --- 抓取最近发生异常的方式
当无异常时返回元组(None, None, None);
当有异常时返回元组(type-异常类型, value-异常类实例, traceback-堆栈跟踪traceback对象)

内置Exception类可以看做:

  • 内置变量名
  • buildin模块内置名称
  • 标准库模块exceptions属性

BaseException --- 异常顶级根类

Exception --- 与应用相关异常的顶层根超类(除了SystemExit,KeyboardInterrupt,GeneratorExit外)
ArithmeticError --- 所有数值错误超类
OverflowError --- 识别特定的数值错误的子类

定制打印显示 --- Exception('显示内容')

定制数据和行为 --- 同类的定制,except Exception as X: X.属性进行访问
提供异常细节和异常方法 --- 提供状态信息,通过定制类的属性和行为

异常设计:

  1. 嵌套异常处理器,语法嵌套,实现复杂控制;
  2. 异常不总是错误,如input函数文件结尾EOFError;
  3. 函数信号条件,当满足条件时引发异常,用以表达结果信号;
  4. 特殊代码块的终止操作,如文件/服务器连接;
  5. try外调试,使用sys.exc_info()读取最近发生异常;
  6. 利用try/except:/else进行进程测试;

设计注意:

  1. try包装内容;
  2. 避免捕捉太多或过少;

转载于:https://www.cnblogs.com/li1234yun/p/7811358.html

你可能感兴趣的文章
protobuf 协议 windows 下 java 环境搭建
查看>>
hacker入门篇——相关书籍
查看>>
10大逆向思维的测试方法
查看>>
github 邮件认证---163,126等国内邮箱无法验证,试试qq邮箱和gmail
查看>>
动态代理之投鞭断流!看一下MyBatis的底层实现原理
查看>>
Test on 11/14/2016
查看>>
JavaScript实现拖拽预览,AJAX小文件上传
查看>>
动态内存管理---new&delete
查看>>
(转)VS2010中出现无法嵌入互操作类
查看>>
第二轮阅读作业
查看>>
HTTP状态码
查看>>
转载一个关于javascript弹出窗口的详解
查看>>
THU的告诫
查看>>
让字体在div容器中垂直居中
查看>>
Android Weekly Notes Issue #221
查看>>
mmap和MappedByteBuffer
查看>>
Linux的基本操作
查看>>
C 算法
查看>>
使用fiddler进程弱网测试
查看>>
jdk path
查看>>