Python异常(基础) except
为什么要异常处理机制:
在程序调用层数较深时,向主调函数传递错误信息需要层层return 返回比较麻烦,用异常处理机制可以较简单的传送错误信息
什么是错误
错误是指由于逻辑或语法等导致一个程序已无法正常执行的问题
什么是异常
异常是程序出错时标识的一种状态
当异常发生时,程序不会再向下执行,而转去调用此函数的地方待处理此错误并恢复为正常状态
异常作用:
用作信号,通知上层调用者有错误产生需要处理
异常处理语句:
try-except 语句:
用于接收异常通知,捕获异常
try-finally 语句:
执行必须要执行的语句
raise 语句
发送异常知通,并进入异常状态
assert 语句
根据条件选择性的发送AssertionError类型的异常通知
try 语句:
两种语法:
try-except语句
try-finally语句
try-except语句
try-except语句语法:
try:
可能触发异常的语句
except 错误类型1 [as 变量1]:
异常处理语句1
except 错误类型2 [as 变量2]:
异常处理语句2
except (错误类型3,错误类型4, ....) [as 变量3]
异常处理语句3
...
except:
异常处理语句(其它)
else:
末发生异常语句
finally:
最终语句
作用:
偿式捕获异常,将程序由异常状态转为正常状态并正常执行
try-except语句说明:
1. as 子句是用于绑定错误对象的变量,可以省略
2. except 子句可以有一个或多个,但至少要有一个
3. else子句最多只能有一个,也可以省略不写
4. finally子句最多只能有一个,也可以省略不写
5. else子句的语句将在此try语句没有发生异常时被执行
6. finally子句的语句在任何情况下都会被执行
try-finally 语句
语法:
try:
可能触发异常的语句
finally:
最终语句
说明:
1. finally 子句不可以省略
2. 一定不存在except子句
作用:
通常用try-finally语句来做触发异常时必须要处理的事情
无论异常是否发生,finally子句都会被执行
注意:
try-finally 语句不会改变程序的(正常/异常)状态
raise 语句
作用:
触发一个错误,让程序进入异常状态
发送错误通知给调用者
语法:
raise 异常类型
或
raise 异常对象
assert 语句(断言语句)
语法:
assert 真值表达式, 错误数据(通常是字符串)
作用:
当真值表达式为False时,用错误数据创建一个AssertionError类型的错误,并进入异常状态
等同于:
if 真值表达式 == False
raise AssertionError(错误数据)
Python异常(基础) except的更多相关文章
- Python——异常基础
异常基础 在Python中,异常会依据错误自己主动地被触发.也能由代码触发和截获.异常由五个语句处理: 1.[try/except]:捕捉由Python或你引起的异常并恢复. 2.[try/final ...
- Python异常基础
一.常见异常及场景举例 1.AssertionError 断言失败,断言是调试中常用(表示自己并不常用┑( ̄Д  ̄)┍)手段 举例: def foo(s): n = int(s) assert n ! ...
- Python 异常机制
1.异常基础 在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!! try: pass # 程序正常执行时做什么操作 ...
- 零基础学Python--------第2章 Python语言基础
第2章 Python语言基础 2.1 Python语法特点 2.11注释 在Python中,通常包括3种类型的注释,分别是单行注释.多行注释和中文编码声明注释. 1.单行注释 在Python中,使用 ...
- Python学习基础笔记(全)
换博客了,还是csdn好一些. Python学习基础笔记 1.Python学习-linux下Python3的安装 2.Python学习-数据类型.运算符.条件语句 3.Python学习-循环语句 4. ...
- Python 入门基础6 --字符编码、文件操作1
今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python 从基础------进阶------算法 系列
1.简介 关 ...
- Python开发基础-Day23try异常处理、socket套接字基础1
异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解 ...
随机推荐
- mybatis逆向工程处理text类型字段
如果数据库中的字段为text或者blob这种大文本类型,在使用MybatisGenerator工具自动生成代码的时候会将其进行特殊处理(一个新的sql片段),结果会导致无法对该字段的值进行操作. 修改 ...
- OO 第五、六、七次作业总结
第五次作业 算法与实现 这次的电梯因为要使用系统时间进行模拟,所以又是推倒了之前的重写的.最后采用三个电梯线程,一个调度线程,一个输入线程的方式. 源码分析图示 类图 方法分析 类分析 由上图看,由于 ...
- ABAP术语-Update Key
Update Key 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/20/1114171.html Unique character str ...
- JQuery传值,接收PrintWriter的int接收不了
<servlet>中的代码 <JSP中的代码> 很苦恼,我想要,<servlet>中传入的(0),在<jsp>中接收到这个参数,然后进行判断,从而达到判 ...
- 第五章 C程序结构
一.数值类型 1.实数常量的表示:3.5(双精度),3.5f(单精度),3.5L(长双精度) 2.整数常量:char字符常量(‘a’,‘b’,‘0’)当做一个整型常量参加运算 3.数字字符与英文字母字 ...
- LEFT JOIN个别问题
SELECT a.loginuser, a.schoolid, count(b.id)FROM vhs_school AS aLEFT JOIN vhs_attence AS b ON a.schoo ...
- Docker toolbox换源
一 docker toolbox安装 略.... 阿里云加速器地址 https://jbriwmh3.mirror.aliyuncs.com 二 为docker toolbox更换国内源 docker ...
- QEMU 模拟运行 VxWorks 6.6
QEMU 模拟运行 VxWorks 6.6 项目简介 本项目是在 Windows 系统编译运行 X86 平台 VxWorks 6.6 系统,使用的模拟软件是 qemu for Windows Host ...
- HxUtils: 批量转换换行符,print2to3
在 windows 和 linux 系统,换行符有时需要转换,其代码文件 HxUntils.py 如下: ''' HxUtils.py 2018 by x01 ''' import os, sys d ...
- FPGA静态时序分析基础
FPGA静态时序分析基础 基本概念 Skew: 时钟偏移 Skew表示时钟到达不同触发器的延时差别,Tskew = 时钟到达2号触发器的时刻 - 时钟到达1号触发器的时刻. Jitter: 时钟抖动 ...