python基础7

mac2024-05-30  37

目录

1、异常捕获2、自定义异常3、常用异常

1、异常捕获

# Author: Mr.Xue # 2019.10.31 #伪代码 try: code except Error1 as e: print(e) # except (Error2, Error3), e: # 2.x的写法 except (Error2, Error3) as e: # 3.x的写法 print(e) except Exception: # 抓住所有错误,不建议一开始使用 code else: # 没有异常执行 print("all is fine") finally: print("不管有没有异常,都执行")

2、自定义异常

# Author: Mr.Xue # 2019.10.30 class XueException(Exception): # 自定义异常类 def __init__(self, msg): self.msg = msg #def __str__(self): #return self.msg try: raise XueException("my error") # raise来触发自定义异常 except XueException as e: print(e)

3、常用异常

AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包;基本上是路径问题或名称错误 IndentationError 语法错误(的子类) ;代码没有正确对齐 IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] dic = ["wupeiqi", 'alex'] try: dic[10] except IndexError, e: print e KeyError 试图访问字典里不存在的键 dic = {'k1':'v1'} try: dic['k20'] except KeyError, e: print e KeyboardInterrupt Ctrl+C被按下 NameError 使用一个还未被赋予对象的变量 SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了) TypeError 传入对象类型与要求的不符合 UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它 ValueError 传入一个调用者不期望的值,即使值的类型是正确的 s1 = 'hello' try: int(s1) except ValueError, e: print e
最新回复(0)