【编程语言】Pyhton异常处理
2018-02-25 18:06
155 查看
Python使用try-except语句实现异常处理,其基本语法如下:
try-except语句支持多个except语句,语法格式如下:
例如:
除了try和except外,异常语句还可以与else和finally配合使用,语句格式如下
上述格式中,else需要在finally前,而finally必须放在最后一个。
此时,如果try中语句块1正常执行并且没有发生异常,else中的语句块3执行。而无论语句块1正常或者异常,finally都会致性。
例子可以修改如下:
附录:Python中常见的异常类型
AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
IOError 输入/输出异常;基本上是无法打开文件
ImportError 无法引入模块或包;基本上是路径问题或名称错误
IndentationError 语法错误(的子类) ;代码没有正确对齐
IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError 试图访问字典里不存在的键
KeyboardInterrupt Ctrl+C被按下
NameError 使用一个还未被赋予对象的变量
SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
TypeError 传入对象类型与要求的不符合
UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,
导致你以为正在访问它
ValueError 传入一个调用者不期望的值,即使值的类型是正确的
try: <语句块1> except <异常类型>: <语句块2>
try-except语句支持多个except语句,语法格式如下:
try: <语句块1> except <异常类型1>: <语句块2> ... except <异常类型N>: <语句块N+1> except: <语句块N+2>
例如:
try: letters= "ABCDEFGHIJKLMNOPQRSTUVWXYZ" num= eval(input("请输入一个整数: ")) print(letters[num]) except NameError: print("输入错误,请输入一个整数!") except: print("其他错误")
除了try和except外,异常语句还可以与else和finally配合使用,语句格式如下
try: <语句块1> except <异常类型>: <语句块2>
else:
<语句块3>
finally:
<语句块4>
上述格式中,else需要在finally前,而finally必须放在最后一个。
此时,如果try中语句块1正常执行并且没有发生异常,else中的语句块3执行。而无论语句块1正常或者异常,finally都会致性。
例子可以修改如下:
try: letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" num = eval(input("请输入一个整数: ")) print(letters[num]) except NameError: print("输入错误,请输入一个整数!") else: print("没有发生异常") finally: print("程序执行完毕")
附录:Python中常见的异常类型
AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
IOError 输入/输出异常;基本上是无法打开文件
ImportError 无法引入模块或包;基本上是路径问题或名称错误
IndentationError 语法错误(的子类) ;代码没有正确对齐
IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError 试图访问字典里不存在的键
KeyboardInterrupt Ctrl+C被按下
NameError 使用一个还未被赋予对象的变量
SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
TypeError 传入对象类型与要求的不符合
UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,
导致你以为正在访问它
ValueError 传入一个调用者不期望的值,即使值的类型是正确的
我的微信公众号
相关文章推荐
- 流行编程语言的详细对比(5)--异常处理
- Objective-C 编程语言(11)异常处理----使能异常处理、异常处理
- C/C++学习笔记八(断言与异常处理)
- Oracle OGG 学习五: GoldenGate Exception Handler 异常处理二
- 17.03.11 异常处理
- 常见编程语言介绍
- pyhton exit
- java异常处理
- 高效开发伟大且成功产品, 最重要的一步: 开发人员找到与自己匹配的编程语言
- 每门编程语言修复了什么
- C++学习笔记(三)--继承中的异常处理
- 编程语言寿命预测
- 创建一门新的编程语言-Flex&Bison教程-(2)-加减乘除
- 异常处理——一些注意事项(4)
- 9个最佳的大数据处理编程语言
- 工作必会编程语言JavaScript
- Google App Engine10年,支持更多你喜欢的编程语言
- 持续集成及部署利器:Go(不要和Google的编程语言Go混淆了!)
- android.os.NetworkOnMainThreadException 异常处理
- 如何挑选你的第一门编程语言