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基础-异常处理的主要内容,如果未能解决你的问题,请参考以下文章

Python基础-14异常处理

Python基础-14异常处理

python 基础---异常处理

python基础之异常处理

Python全栈自动化系列之Python编程基础(异常捕获)

Python 异常处理-Python零基础入门教程