【python】python中的异常处理 ~~附python标准异常

原文链接: https://www.runoob.com/python/python-exceptions.html

什么是异常

异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
一般情况下,在Python无法正常处理程序时就会发生一个异常。

异常是Python对象,表示一个错误。
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

异常处理

方法1: 一般使用 try…except…处理异常:只要有一个异常,程序就不继续执行了。

try:              #可能会出现异常的代码,放在try下
	code1         #如果try内部任意一行代码出现异常,# 直接跳转至except,执行except下代码
	code2
except:
	code3
	code4

方法2:当循环中出现异常时,如何跳过循环中的异常继续执行:

for  // try / except...  pass  /continue 比如当我move一个文件的时候,
如果目标文件不存在,程序可跳过异常,继续执行
import pandas as pd
dates=range(20161010,20161114)
pieces=[]
for date in dates:
	try:
   		data=pd.read_csv('A_stock/overview-push-%d/stock overview.csv' %date, encoding='gbk')
        pieces.append(data)
	except Exception as e:
    	pass
    continue
data=pd.concat(pieces)

实例 :

def mye( level ):
	if level < 1:
		raise Exception,"Invalid level!"
		# 触发异常后,后面的代码就不会再执行
	try:
    	 mye(0)            # 触发异常
	except Exception,err:
    	 print 1,err
 	else:
    	print 2

执行以上代码,输出结果为:

$ python test.py 
1 Invalid level!

python标准异常

                    异常名称	描述
                    BaseException	所有异常的基类
                    SystemExit	解释器请求退出
                    KeyboardInterrupt	用户中断执行(通常是输入^C)
                    Exception	常规错误的基类
                    StopIteration	迭代器没有更多的值
                    GeneratorExit	生成器(generator)发生异常来通知退出
                    StandardError	所有的内建标准异常的基类
                    ArithmeticError	所有数值计算错误的基类
                    FloatingPointError	浮点计算错误
                    OverflowError	数值运算超出最大限制
                    ZeroDivisionError	(或取模) (所有数据类型)
                    AssertionError	断言语句失败
                    AttributeError	对象没有这个属性
                    EOFError	没有内建输入,到达EOF 标记
                    EnvironmentError	操作系统错误的基类
                    IOError	输入/输出操作失败
                    OSError	操作系统错误
                    WindowsError	系统调用失败
                    ImportError	导入模块/对象失败
                    LookupError	无效数据查询的基类
                    IndexError	序列中没有此索引(index)
                    KeyError	映射中没有这个键
                    MemoryError	内存溢出错误(对于Python 解释器不是致命的)
                    NameError	未声明/初始化对象 (没有属性)
                    UnboundLocalError	访问未初始化的本地变量
                    ReferenceError	弱引用(Weak reference)试图访问已经垃圾回收了的对象
                    RuntimeError	一般的运行时错误
                    NotImplementedError	尚未实现的方法
                    SyntaxError	Python 语法错误
                    IndentationError	缩进错误
                    TabError	Tab 和空格混用
                    SystemError	一般的解释器系统错误
                    TypeError	对类型无效的操作
                    ValueError	传入无效的参数
                    UnicodeError	Unicode 相关的错误
                    UnicodeDecodeError	Unicode 解码时的错误
                    UnicodeEncodeError	Unicode 编码时错误
                    UnicodeTranslateError	Unicode 转换时错误
                    Warning	警告的基类
                    DeprecationWarning	关于被弃用的特征的警告
                    FutureWarning	关于构造将来语义会有改变的警告
                    OverflowWarning	旧的关于自动提升为长整型(long)的警告
                    PendingDeprecationWarning	关于特性将会被废弃的警告
                    RuntimeWarning	可疑的运行时行为(runtime behavior)的警告
                    SyntaxWarning	可疑的语法的警告
                    UserWarning	用户代码生成的警告   

猜你喜欢

转载自blog.csdn.net/weixin_43988131/article/details/106244048
今日推荐