python异常处理详解
时间:2021-08-04
本文章向大家介绍python异常处理详解,主要包括python异常处理详解使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
try except
python语言中,用try except
语句块捕获并处理异常,其基本语法结构如下所示:
try:
可能产生异常的代码块
except [ (Error1, Error2, ... ) [as e] ]:
处理异常的代码块1
except [ (Error3, Error4, ... ) [as e] ]:
处理异常的代码块2
except [Exception]:
处理其它异常
1. 如上述句式所示,try有且仅有一个,except可以有多个,且每个except可以处理多个异常。
2. 其中 [ ] 可以使用也可以省略。
3. [as e] 作为可选参数,相当于给异常起一个别名,方便在 处理异常的代码块中调用异常。
4. [Exception]:作为可选参数,可以代指程序可能发生的所有异常情况,其通常用在最后一个 except 块。
例子:
try:
1/0
except Exception as e:
# args:返回异常的错误编号和描述字符串;
print(e.args)
# str(e):返回异常信息,但不包括异常信息的类型;
print(str(e))
# repr(e):返回较全的异常信息,包括异常信息的类型
print(repr(e))
else:
print(‘程序正常运行’)
try...finally
try...finally...语句无论是否发生异常都将会执行最后的代码
try:
可能产生异常的代码块
finally:
print('无论异常与否,都会执行我')
raise主动触发异常
例子:如果参数是0,则主动抛出ValueError错误
def not_zero(num):
try:
if num == 0:
raise ValueError('参数错误')
return num
except Exception as e:
print(e)
not_zero(0)
采用traceback模块查看异常
格式:
try:
代码块
except:
traceback.print_exc()
例子:
import traceback
try:
1/0
except Exception as e:
traceback.print_exc()
# 运行结果:
Traceback (most recent call last):
File "E:/PycharmProjects/ProxyPool-master/proxypool/test.py", line 4, in <module>
1/0
ZeroDivisionError: division by zero
另外,print_exc()还可以接受file参数直接写入到一个文件。比如可以像下面这样把相关信息写入到tb.txt文件去。
traceback.print_exc(file=open('tb.txt','w+'))
原文地址:https://www.cnblogs.com/dzwclimber/p/15100887.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- JavaScript里的分号,你加还是不加?
- 技术干货 | Docker 容器逃逸案例汇集
- 一张千万级别数据的表想做分页,如何优化?
- 一文学会爬虫技巧
- 为什么机器学习应用交易那么难(中)
- 消息队列的消费幂等性如何保证
- js中数组Array.reduce方法介绍及使用场景
- 推荐一套基于go开发的文档管理系统
- 如何通过容器搭建稳定可靠的私有网盘(NextCloud)
- Flutter实现倒计时功能
- Excelize 2.3.0 发布, Go 语言 Excel 基础库
- 网站渗透攻防Web篇之SQL注入攻击高级篇
- 网站渗透攻防Web篇之SQL注入攻击中级篇
- Go 语言学习之 method
- 网站渗透攻防Web篇之SQL注入攻击初级篇