python基础-异常处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础-异常处理相关的知识,希望对你有一定的参考价值。
一、异常简介
二、异常种类
1 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x 2 IOError 输入/输出异常;基本上是无法打开文件 3 ImportError 无法引入模块或包;基本上是路径问题或名称错误 4 IndentationError 语法错误(的子类) ;代码没有正确对齐 5 IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] 6 KeyError 试图访问字典里不存在的键 7 KeyboardInterrupt Ctrl+C被按下 8 NameError 使用一个还未被赋予对象的变量 9 SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了) 10 TypeError 传入对象类型与要求的不符合 11 UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它 12 ValueError 传入一个调用者不期望的值,即使值的类型是正确的
三、异常处理
语法:
1 try: 2 pass 3 except Exception,ex: 4 pass
示例1:
必须输入整型,否则就进入异常处理
1 try: 2 age=input(‘1>>:‘) 3 int(age) 4 5 num2=input(‘2>>:‘) 6 int(num2) 7 8 except IndexError as e: 9 print(e)
执行结果:
1 1>>:1 2 2>>:2sffs 3 Traceback (most recent call last): 4 File "D:/python/day29/s2.py", line 10, in <module> 5 int(num2) 6 ValueError: invalid literal for int() with base 10: ‘2sffs‘
多分支 (Exception) 万能异常
示例1:
1 try: 2 age=input(‘1>>:‘) 3 int(age) 4 5 num2=input(‘2>>:‘) 6 int(num2) 7 8 l=[] 9 1[10000] 10 11 dic={} 12 dic[‘name‘] 13 14 except KeyError as e: 15 print(e) 16 17 except ValueError as e: 18 print(‘=========>‘,e) 19 20 except IndexError as e: 21 print(‘-------->‘,e) 22 23 print(‘1111111111111111111111‘)
执行结果:
1 1>>:18 2 2>>:asdfdsa 3 =========> invalid literal for int() with base 10: ‘asdfdsa‘ 4 1111111111111111111111
示例2:
1 try: 2 age=input(‘1>>:‘) 3 int(age) #主逻辑 4 5 num2=input(‘2>>:‘) 6 int(num2) #主逻辑 7 8 l=[] 9 1[10000] 10 11 dic={} 12 dic[‘name‘] 13 14 except Exception as e: 15 print(e) 16 17 print(‘11111111111111111111‘)
执行结果:
1 1>>:11 2 2>>:fdsf 3 invalid literal for int() with base 10: ‘fdsf‘ 4 11111111111111111111
其它的异常结构 part5:
以上是关于python基础-异常处理的主要内容,如果未能解决你的问题,请参考以下文章