如何在网站搜关键字,北京哪个公司做网站好,好用的在线代理网页,网站 错位一个完成的程序一定少不了对异常的处理#xff0c;以及错误日志的输出。
在之前章节的程序中对这两部分没有进行说明,以下用两个单独的章节进行介绍。 [量化投资-学习笔记016]PythonTDengine从零开始搭建量化分析平台-日志输出
异常处理
Python 通常使用 try .. except 和防…一个完成的程序一定少不了对异常的处理以及错误日志的输出。
在之前章节的程序中对这两部分没有进行说明,以下用两个单独的章节进行介绍。 [量化投资-学习笔记016]PythonTDengine从零开始搭建量化分析平台-日志输出
异常处理
Python 通常使用 try .. except 和防御式编程来处理异常。
try:#可能会出现异常代码
except ErrorType1:#处理 ErroType1 类型异常
except ErrorType2:#处理 ErroType2 类型异常
else:#如果没有异常执行的代码
finally:#不管是否有异常都执行的代码。else 和 finally 不是必须的。try .. except 对性能消耗不大而防御式编程有可能带来更大消耗。不建议用 except 捕捉所有异常。
示例代码如下
def request_post(url, sql, user, pwd):data []sql sql.encode(utf-8)headers {Connection: keep-alive,Accept-Encoding: gzip, deflate, br}try:result requests.post(url, datasql, authHTTPBasicAuth(user,pwd),headersheaders)except OSError as e:print(e)print(fCannot connect to {url})else:textresult.content.decode()data json.loads(text)if len(data) 1:print(Response message Error!)return dataelse:return data异常类型汇总
异常名称类型描述BaseException所有异常的基类SystemExit解释器请求退出KeyboardInterrupt用户中断执行(通常是输入^C)Exception常规错误的基类StopIteration迭代器没有更多的值GeneratorExit生成器(generator)发生异常来通知退出StandardError所有的内建标准异常的基类ArithmeticError所有数值计算错误的基类FloatingPointError浮点计算错误OverflowError数值运算超出最大限制ZeroDivisionError除(或取模)零AssertionError断言语句失败AttributeError对象没有这个属性EOFError没有内建输入,到达EOFEnvironmentError操作系统错误的基类IOError输入/输出操作失败OSError操作系统错误WindowsError系统调用失败ImportError导入模块/对象失败LookupError无效数据查询的基类IndexError序列中没有此索引(index)KeyError映射中没有这个键MemoryError内存溢出错误NameError未声明/初始化对象UnboundLocalError访问未初始化的本地变量ReferenceError弱引用RuntimeError一般的运行时错误NotImplementedError尚未实现的方法SyntaxErrorPythonIndentationError缩进错误TabErrorTabSystemError一般的解释器系统错误TypeError对类型无效的操作ValueError传入无效的参数UnicodeErrorUnicodeUnicodeDecodeErrorUnicodeUnicodeEncodeErrorUnicodeUnicodeTranslateErrorUnicodeWarning警告的基类DeprecationWarning关于被弃用的特征的警告FutureWarning关于构造将来语义会有改变的警告OverflowWarning旧的关于自动提升为长整型(long)的警告PendingDeprecationWarning关于特性将会被废弃的警告RuntimeWarning可疑的运行时行为SyntaxWarning可疑的语法的警告UserWarning用户代码生成的警告
参考:
Python异常(try…except)对代码运行性能的影响Python try 和 if 语句的区别