一.08异常
来源:互联网 发布:ubuntu双系统磁盘分区 编辑:程序博客网 时间:2024/05/18 00:12
一.Python异常类
NameError 尝试访问一个没有申明的变量
ZeroDivisionError 除数为0
SyntaxError 语法错误
IndexError 索引超出序列范围
KeyError 请求一个不存在的字典关键字
IOError 输入输出错误(比如你要读的文件不存在)
AttributeError 尝试访问未知的对象属性
ValueError 传给函数的参数类型不正确,比如给int()函数传入字符串形
二.捕获异常
try: try_suite except Exception1,Exception2,...,Argument: exception_suite ...... #other exception block else: no_exceptions_detected_suite finally: always_execute_suite
try…except…语句
try捕获了任何异常,都将交给except子句的exception block来处理
try … except…else语句
就是当没有检测到异常的时候,则执行else语句
finally子句
finally子句是无论是否检测到异常,都会执行的一段代码。我们可以丢掉except子句和else子句,单独使用try…finally,也可以配合except等使用。
三.两个特殊的处理异常的简便方法
1.断言(assert)
assert语句用于检测表达式是否为真,如果为假,引发AssertionError错误;
语法格式:assert expression [,args]
expression:表达式
args:判断条件的描述信息
2.上下文管理(with语句)
with open(r'somefileName') as somefile: for line in somefile: print line # ...more code
四.抛出异常(raise)
#!/usr/bin/python# -*- coding: UTF-8 -*-# 定义函数def mye( level ): if level < 1: raise Exception("Invalid level!", level) # 触发异常后,后面的代码就不会再执行try: mye(0) // 触发异常except "Invalid level!": print 1else: print 2
#输出结果$ python test.py Traceback (most recent call last): File "test.py", line 11, in <module> mye(0) File "test.py", line 7, in mye raise Exception("Invalid level!", level)Exception: ('Invalid level!', 0)
阅读全文
0 0
- 一.08异常
- 异常(一)
- JAVA【异常一】异常体系
- 三十四、异常(一)异常抛出、异常捕获、异常传播
- C++异常(一)
- 异常(一)
- Java异常基础一
- 常见异常续一
- C#异常处理一
- 异常错误(一)
- AOP异常处理一
- Java异常处理 一
- 异常一(Exception)
- java 异常处理(一)
- java异常学习一
- 自定义异常(一)
- C++异常处理(一)
- Orace VirtualBox异常一
- 用break退出方法和跑异常的退出递归
- 如何打败拖延症?
- 用C#去获取注册表里的值
- Zookeeper介绍(二)——Zookeeper概述
- 【第六届蓝桥杯】隔行变色
- 一.08异常
- 华为交换机设置vlan trunk口 并保存设置
- Spring Cloud构建微服务架构—服务消费基础
- 1053. 住房空置率 (20)
- Java多线程编程-(20)-借ThreadLocal出现OOM内存溢出问题再谈弱引用WeakReference
- Zookeeper介绍(三)——Zookeeper的安装
- 大型网站技术架构总结一二
- 读《大数据供应链》
- git错误:unable to auto-detect email address