# isinstance()
# 判断实例a是否属于类b # issubclass() # 判断类a是否为类b的派生类 # 异常处理
try:
pass
#Exception是错误类型,能catch到所有的异常,最好不要写这个,e是错误的信息,python3的写法
except Exception as e:
pass #常用异常的错误类型
# ValueError:值的类型不正确
# IndexError:捕获索引错误
# KeyboardInterrupt:键盘输入ctrl+c,ctrl+d被按下
# NameError 使用一个还未定义的变量
# KeyError
# AssertionError断言错误
# ZeroDivisionError:0去除一个数字就会报这个错误
# 缩进,语法错误是谁都抓不住,因为这些代码在解析的时候就会报错,根本还没有到执行
# Exception抓不住ctrl+c的错误 # ===========================================================================================
# 自定义异常
class Error(Exception):
def __init__(self,msg):
self.msg = msg
def __str__(self):
return self.msg try:
raise Error("我的异常")
except Error as e:
print(e) # =============================================================================
# 断言
a = 1
try:
assert a == 1
# raise Error("我的异常")
except Error as e:
print(e) # 判断assert语句后句的语句是否成立,如果不成立则报错,如果成立,则不报错,这是一个至关重要的
# 判断,如果这里错误,则程序不会往下走了,主要是告诉别人,这个条件是非常重要的 try:
assert a == 1
# raise Error("我的异常")
except xxxx as e:
print(e)
finally:
print("aaaaaaaaaaaaaaaaaaaaa") # finally后面的语句不管前面是否执行报错或者成功,finally的语句肯定会执行 try:
assert a == 1
# raise Error("我的异常")
except Error as e:
print(e)
else:
print("aaaaaaaaaaaaa")
finally:
print("aaaaaaaaaaaaaaaaaaaaa") # else后面的语句,如果前面的不报错,则执行这里的语句

标准错误类型

AssertionError 断言语句(assert)失败

AttributeError 尝试访问未知的对象属性

EOFError 用户输入文件末尾标志EOF(Ctrl+d)

FloatingPointError 浮点计算错误

GeneratorExit generator.close()方法被调用的时候

ImportError 导入模块失败的时候

IndexError 索引超出序列的范围

KeyError 字典中查找一个不存在的关键字

KeyboardInterrupt 用户输入中断键(Ctrl+c)

MemoryError 内存溢出(可通过删除对象释放内存)

NameError 尝试访问一个不存在的变量

NotImplementedError 尚未实现的方法

OSError 操作系统产生的异常(例如打开一个不存在的文件)

OverflowError 数值运算超出最大限制

ReferenceError 弱引用(weak reference)试图访问一个已经被垃圾回收机制回收了的对象

RuntimeError 一般的运行时错误

StopIteration 迭代器没有更多的值

SyntaxError Python的语法错误

IndentationError 缩进错误

TabError Tab和空格混合使用

SystemError python编译器系统错误

SystemExit Python编译器进程被关闭

TypeError 不同类型间的无效操作

UnboundLocalError 访问一个未初始化的本地变量(NameError的子类)

UnicodeError Unicode相关的错误(ValueError的子类)

UnicodeEncodeError Unicode编码时的错误(UnicodeError的子类)

UnicodeDecodeError Unicode解码时的错误(UnicodeError的子类)

UnicodeTranslateError Unicode转换时的错误(UnicodeError的子类)

ValueError 传入无效的参数

ZeroDivisionError 除数为零

自定义异常的说明

# 自定义异常,我们自定义一个错误的类,然后继承Exception类,然后我们用前面学到的方法print这个对象,如果我们要print这个对象,那么这个类中就一定要定义
# __str__方法,所以我们就要在类中定义这个方法,这样我们就可以使用自定义类来捕获错误了 class test_error(Exception):
def __init__(self,msg):
self.message = msg
def __str__(self):
return self.message try:
raise test_error("我错了")
except test_error as e:
print(e)

  

主动捕获异常的说明

def test():
try:
raise Exception("主动触发的错误")
except Exception as e:
print(e) # raise Exception("主动触发的错误")
# 这个的意思是创建的了一个Exception类的对象
# except Exception as e
# 这个的意思是捕获这个对象,然后赋值给e,然后打印e
test()

  

python的错误类型和异常处理的更多相关文章

  1. java程序错误类型及异常处理

    一.程序的错误类型 在程序设计中,无论规模是大是小,错误总是难免的.程序的设计很少有能够一次完成,没有错误的(不是指HelloWorld这样的程序,而是要实现一定的功能,具备一定实用价值的程序),在编 ...

  2. Python语言常见异常错误类型

    在运行或编写一个程序时常会遇到错误异常,这时python会给你一个错误提示类名,告诉出现了什么样的问题(Python是面向对象语言,所以程序抛出的异常也是类).能很好的理解这些错误提示类名所代表的意思 ...

  3. python错误类型

    在运行或编写一个程序时常会遇到错误异常,这时python会给你一个错误提示类名,告诉出现了什么样的问题(Python是面向对象语言,所以程序抛出的异常也是类).能很好的理解这些错误提示类名所代表的意思 ...

  4. 【python】错误/异常处理,调试,测试

    try: print('try') r=10/2 print('result is:',r) #发生错误,会执行这部分 except ValueError as e: print('ValueErro ...

  5. 【Python系统学习03】错误类型整理(一)

    错误类型与可能原因分析 A.语法错误: 1.syntaxError:invalid syntax 无效的语法 print(2019小石头) # print(2019小石头) # ^ # SyntaxE ...

  6. [python]错误检测及异常处理try-except

    1. 简介 要给代码添加错误检测及异常处理,只需要将其封装在try-except中. try:通常的代码 except:处理错误和异常的代码 2. 示例 import os try: path = ' ...

  7. python的错误和异常

    python错误和异常 错误 错误分为语法错误和逻辑错误 语法错误 >>> if File "<stdin>", line 1 if ^ Syntax ...

  8. Python学习(17)异常处理

    目录 Python 异常处理 Python 标准异常 异常处理 使用except而不带任何异常类型 使用except而带多种异常类型 try-finally 语句 异常参数 异常的参数 用户自定义参数 ...

  9. python自动化开发-[第九天]-异常处理、进程

    今日概要: 1.异常处理使用 2.进程 3.paramiko模块使用 一.异常处理 1.常见的错误异常 #错误异常一 print(a) #NameError #错误异常二 int('sdadsds') ...

随机推荐

  1. nginx二进制编译-启动脚本编写

    首先先把这个文件上传到root目录下,并解压 #tar zxf nginx-1.11.2.tar.gz 写脚本 # vi nginx-running.sh 内容如下 #!/bin/bash #chkc ...

  2. IntelliJ IDEA小问题解决方法------(持续更新)

    1:IDEA运行时报错提示“找不到或无法加载主类”:在确保IDEA开发环境无误后->file->invalidate Cache/restart,之后再重新build.问题解决. 2.如何 ...

  3. 长沙雅礼中学集训-------------------day3

    今天的收获还是蛮大的,终于体会了一波在知识的海洋中遨游的美滋滋的快感. T1:给你N个点的位置和他们的速度,这些点向一个方向移动,求前M次超越者的集合A和被超越者的集合B(集合为这些点的速度),以及从 ...

  4. css基础示例代码

    选择器 引入方式 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  5. 并发基础(三) java线程优先级

      在不同的JVM中(JVM也算是一个操作系统),有着不同的CPU调度算法,对于大部分的JVM来说,优先级也是调度算法中的一个参数.所以,线程优先级在一定程度上,对线程的调度执行顺序有所影响,但不能用 ...

  6. Python之模块(一)

    模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少 ...

  7. PyQt5系列教程(七)控件

    软硬件环境 Windows 10 Python 3.4.2 PyQt 5.5.1 PyCharm 5.0.4 前言 控件是PyQt应用程序的基石.PyQt5自带很多不同的控件,包括像button.ch ...

  8. Alpha版本检测报告

    1.Alpha版本测试报告 发布一篇随笔,作为项目的测试报告,内容包括: (1)测试计划 测试人员 工作安排 覃一霸 编写测试报告 张江波 执行测试.截图测试结果 测试功能 功能 描述 效果 结果 登 ...

  9. JS 操作 file标签只上传照片

    在当前高版本浏览器里 在标签里加这个属性就够用了 accept="image/*" $('input[type="file"]').live('change', ...

  10. 某C电面记

    昨天突然接到某C的电话面试,有点措不及防.15分钟左右的电面后,直接收到了不合适的邮件通知,那个惨~~~~~~~~~~~~~~~ 记录回答得不是很好的几个问题: 1.自动化层面,你做了什么工作,给团队 ...