异常处理基本语法:

try:
pass
except Exception,ex:
pass

常用异常种类:

AttributeError    试图访问一个对象,没有的属性。比如foo.x,但是foo没有属性x
IOError 输入/输出异常(基本上是无法打开文件)
ImportError 无法引入模块或包(基本上是路径问题或名称错误)
IndentationError 语法错误的一种,代码缩进不对
IndexError 下标索引超出序列边界,比如当一个列表x只有三个元素,却试图访问x[5]
KeyError 试图访问字典里不存在的键
KeyboardInterrupt Ctrl+C被按下
NameError 使用一个尚未定义的变量
SyntaxError Python代码非法,代码不能编译
TypeError 传入对象类型与要求的不符合
UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它
ValueError 传入一个调用者不期望的值,即便值的类型是正确的。比如,你要将一个字符串转换成数字:n='abc' int(n)

单个异常抓取:

data = {'id':123}
try:
data['name']
except KeyError as e:
print('没有这个key:',e)

多个异常抓取:

这种方法如果第一个错了,就不会执行后面的异常处理。
data = {'id':123}
list = [1,2]
# 只会处理 KeyError ,后面的IndexError不会处理。
try:
data['name']
list[3]
except KeyError as e :
print('没有这个key:',e)
except IndexError as e :
print('列表操作错误:',e)

多个指定异常,返回同一个结果:

# 多个指定异常,返回同一个结果。
# 只要出现了其中任意一个就会返回。
data = {'id':123}
list = [1,2]
try:
data['name']
list[3]
except (IndexError,KeyError) as e: # 出现指定的错误时,执行。
print('出现了指定错误。')

万能异常:

 不管出现什么错误,都能获取。不建议一开始就是用。

data = {'id':123}
list = [1,2] try:
data['name']
list[3]
except Exception as e: # 抓取任意异常
print('出现了错误。')

其他异常结构:

 except Exception 出现非指定错误时,执行。

 else 没有错误时,执行

 finally 不管有没有错,都执行。

data = {'id':123}
list = [1,2] try:
# data['name']
list['abc']
n = 1
except (IndexError,KeyError) as e: # 出现指定的错误时,执行。
print('出现了指定错误。')
except Exception as e: # 出现非指定错误时,执行。
print('出现了非指定错误!未知错误',e)
else: # 没有错误时,执行。
print('一切正常,没有错误。')
finally: # 不管有没有错,都执行。
print('不管有没有错,都执行这个!')

主动触发异常:

try:
raise Exception('主动触发了异常!')
except Exception as e:
print(e)

自定义异常:

class MyExceptin(Exception):
def __init__(self, msg):
self.msg = msg try:
raise MyExceptin('自定义异常!')
except MyExceptin as e:
print(e)

初识python: 异常处理的更多相关文章

  1. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  2. Python开发【第一篇】:初识Python

    初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...

  3. Python开发【第二篇】:初识Python

    Python开发[第二篇]:初识Python   Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...

  4. python异常处理(基础)

    之前在学习python的时候有整理过python异常处理的文章,不够简单也不够完整,所以决定再整理一篇,算做补充. http://www.cnblogs.com/fnng/archive/2013/0 ...

  5. 初识python面向对象

    一.初识python面向对象: class Person: #使用class关键字定义一个类 age=0 #类变量(静态变量) def eat(self,food): #定义一个方法 self.age ...

  6. Python异常处理 分类: python Raspberry Pi 服务器搭建 2015-04-01 13:22 172人阅读 评论(0) 收藏

    一个程序要保持稳定运行必须要有异常处理,本文将简单介绍Python中的try-except..异常处理语句的使用. 该种异常处理语法的规则是: 执行try下的语句,如果引发异常,则执行过程会跳到第一个 ...

  7. Python 异常处理--raise函数用法

    raise语句手工引发一个异常: "raise" [expression ["," expression ["," expression]] ...

  8. [Python学习笔记][第八章Python异常处理结构与程序调试]

    1/30 第八章Python异常处理结构与程序调试 异常处理 try-except结构 try: try块 except Exception: except块 try-except-else结构 tr ...

  9. python异常处理try,except,else,finally,raise

    先看下else的使用: try: ... exception: ... else: ... 只有在try中没有发生任何异常,所有代码完全成功的情况下才会转入else 再看下finally: final ...

  10. 篇2 安卓app自动化测试-初识python调用appium

    篇2              安卓app自动化测试-初识python调用appium --lamecho辣么丑 1.1概要 大家好!我是lamecho(辣么丑),上一篇也是<安卓app自动化测 ...

随机推荐

  1. 编译安装nginx 1.16

    准备源码包,并解压,创建nginx用户 [root@slave-master ~]# tar xf nginx-1.16.0.tar.gz [root@slave-master ~]# useradd ...

  2. MFC入门示例之组合框(CComboBox)、列表框(CListBox)

    1 //添加按钮点击事件 2 void CMFCApplication4Dlg::OnBnClickedButton1() 3 { 4 CString strText; 5 //获取文本框的值 6 G ...

  3. nvm命令

    1.安装node nvm install node版本 2.查看已安装版本 nvm list 3.切换node版本 nvm use node版本 4.查看版本 node -v

  4. 阿里云RDS备份 恢复到本地

    目录 一.恢复准备 二.具体操作 一.恢复准备 阿里云RDS默认配置了全备份+binlog,可以精准恢复到某个时间点上. 可以下载备份的包到本地,进行本地恢复,要预留好本地的数据库容量和cpu等规格, ...

  5. Hibernate框架使用之环境搭建

    第一步:引入所需的jar包 第二步:创建实体类,配置实体类与数据表的映射关系 创建实体类 User.java package cn.hao.entity; public class User { /* ...

  6. JUC之Lock接口以及Synchronized回顾

    Lock接口 Synchronized关键字回顾: 多线程编程步骤(上): 创建资源类,在资源类创建属性和操作方法 创建多个线程,调用资源类的操作方法 创建线程的四种方式: 继承Thread 实现Ru ...

  7. [BUUCTF]PWN——bjdctf_2020_babystack2

    bjdctf_2020_babystack2 附件 步骤: 例行检查,64位程序,开启了nx保护 尝试运行一下程序,看看情况 64位ida载入,习惯性的先检索程序里的字符串,发现了bin/sh,双击跟 ...

  8. 成本资源(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 张同学说,成本资源就是balabalabala--算了,反正就是一种资源,比如,张同学列出的差旅费.住宿费.交通费.通信费 ...

  9. 异步FIFO总结+Verilog实现

    异步FIFO简介 异步FIFO(First In First Out)可以很好解决多比特数据跨时钟域的数据传输与同步问题.异步FIFO的作用就像一个蓄水池,用于调节上下游水量. FIFO FIFO是一 ...

  10. 【LeetCode】469. Convex Polygon 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 计算向量夹角 日期 题目地址:https://leet ...