python 异常的引发和捕捉处理
1.什么是异常(exception):
异常是python发现某个地方出现逻辑错误时,抛出一个信号,即异常的引发。如果有捕捉语句在,则异常信号被捕捉,如果没有则会传递到默认异常处理器(终止程序)。
异常也可以是自定义的,比如某项研究中规定人数必须大于10人,否则视为异常处理。
2.如何引发异常:
2.1程序本身的语法错误引起。
2.2为了某种目的,人为设置的引发器:
引发器:raise和assert,assert是有条件的raise
raise的用法: raise BASEEXCEPTION。
assert的用法: assert 布尔值,异常提示内容。
BASEEXCEPTION可以是python内部的,也可以是自定义的。
3.自定义BASEEXCEPTION:
3.1自定义异常类必须必须是Exception或者Error的子类
class ZeroError(Exception): '''自定义一个异常类''' def __init__(self, value): Exception.__init__(self) self.value = value
4.try ********expect********else*****finally
try下面的语句是否有引发异常,有的话执行expect,没有的话执行else,不管有没有finally下的语句都会执行。
try: 执行代码 expect 异常类,异常类的实例: 执行代码 else: 执行代码 finally: 执行代码
参考:
http://blog.sina.com.cn/s/blog_151a5b5330102wqsg.html
https://www.cnblogs.com/mianbaoshu/p/7810696.html
python 异常的引发和捕捉处理的更多相关文章
- python——异常except语句用法与引发异常
except: #捕获所有异常 except: <异常名>: #捕获指定异常 except:<异常名1,异常名2):捕获异常1或者异常2 except:<异常名>,< ...
- python 异常
引用一段来自菜鸟教程的文章:http://www.runoob.com/python/python-exceptions.html Python 异常处理 python提供了两个非常重要的功能来处理p ...
- python——异常
一.什么是异常 1.错误 从软件方面来说,错误是语法或是逻辑上的.错误是语法或是逻辑上的. 语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译.这些些错误必须在程序执行前纠正. 当程 ...
- Python——异常基础
异常基础 在Python中,异常会依据错误自己主动地被触发.也能由代码触发和截获.异常由五个语句处理: 1.[try/except]:捕捉由Python或你引起的异常并恢复. 2.[try/final ...
- #21 Python异常
前言 运行程序时经常遇到各种错误,例如:ImportError(导入模块错误).IndexError(索引错误).NameError(变量错误).SyntaxError(语法错误).Indentati ...
- Python异常和异常处理
Python异常和异常处理2017年12月20日 22:17:08 Megustas_JJC 阅读数:114 标签: python 异常处理 更多 个人分类: Python 版权声明:本文为博主原创文 ...
- python 异常之进阶操作
1.文件分析 下面来做一些文件分析操作,分析整本书的信息. 知识点: string.split():将字符串分解为列表. open(filename,‘rb’)或者open(filename,enco ...
- 如何处理python异常
1.python异常有那些? window的机器如果安装了python,则直接可以在idle中查看,打开idle,按F1即可打开帮助文档,按如下路径即可查看,也可以去python官网查看这里不说明了百 ...
- C++异常处理解析: 异常的引发(throw), 捕获(try catch)、异常安全
前言: C++的异常处理机制是用于将运行时错误检测和错误处理功能分离的一 种机制(符合高内聚低耦合的软件工程设计要求), 这里主要总结一下C++异常处理的基础知识, 包括基本的如何引发异常(使用th ...
随机推荐
- .NET程序调试技巧(一):快速定位异常的一些方法
作为一个程序员,解BUG是我们工作中常做的工作,甚至可以说解决问题能力是一个人工作能力的重要体现.因为这体现了一个程序员的技术水平.技术深度.经验等等. 那么在我们解决BUG的过程中,定位问题是非常重 ...
- 【ask】Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.
1.周五对nodejs tcp长连接服务器框架进行压测,一切开始比较常规(没什么特殊问题). 2.突然手一哆嗦,把压测用的客户端群一起关闭了. 3.这个时候nodejs的服务器爆出了"Cau ...
- OpenCV 常用汇总
cv::Rect矩形类用法 typedef struct CvRect { int x; /* 方形的左上角的x-坐标 */ int y; /* 方形的左上角的y-坐标*/ int width; /* ...
- CentOS7 minion安装图形化界面&远程桌面
单用户管理 1.1 实验环境 [root@15b883 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@15b883 ~]# ...
- Mybatis 二级缓存脏读
脏读的产生 Mybatis的二级缓存是和命名空间绑定的,所以通常情况下每一个Mapper映射文件都有自己的二级缓存,不同的mapper的二级缓存互不影响.这样的设计一不注意就会引起脏读,从而导致数据一 ...
- ZBarReaderView屏幕旋转问题
转载:http://42.96.197.72/ios-zbarreaderview-interface-orientation/ 在iPad应用中,如果没有特殊情况,需要让应用支持所有屏幕方向.在iP ...
- jquery点击div以外的区域触发事件
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- AngularJs使用过程中,在ng-repeat中使用track by
1.问题描述: 点击删除后:table中的被选中设备确实被删除了,但是data-table并没有重新加载出来, 查看js代码: 先对$scope.data_table进行了destroy(),然后重新 ...
- Leetcode 之 Valid Triangle Number
611. Valid Triangle Number 1.Problem Given an array consists of non-negative integers, your task is ...
- 部门人员能力模型的思考:海军 or 海盗——By Me
我们欢迎您的加入,与我们一起推动安全可视化团队的成长,实现技术上共同进步和感情上的更多互相支持!