博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python_捕获异常
阅读量:4554 次
发布时间:2019-06-08

本文共 2809 字,大约阅读时间需要 9 分钟。

python捕获分类:

1、明确类型进行捕获

d={
"a":1}try: d["key"]except KeyError as e: #只能捕获keyerror这一种错误 print('出错了')
try:    1/0    d['key']except ZeroDivisionError as e: #捕获ZeroDivisionError这一种错误    print("error")C:\Users\zhaow\AppData\Local\Programs\Python\Python37\python.exe D:/study/python/test/dd.pyerror
d={
"a":1}try: #当try中有多个错误是,根据位置在前的错误会报错走捕获,后面的错误捕获不再进行输出 d['key'] 1/0except ZeroDivisionError as e: #捕获ZeroDivisionError这一种错误 print("error")except KeyError as e: #只能捕获keyerror这一种错误 print('出错了')C:\Users\zhaow\AppData\Local\Programs\Python\Python37\python.exe D:/study/python/test/dd.py出错了 #因为keyerror的错误在前,所以程序走了其捕获异常代码,未走获ZeroDivisionError这个捕获

2、未明确类型进行统一捕获

try:    1/0except KeyError as e:  #只能捕获一种错误    print("error")C:\Users\zhaow\AppData\Local\Programs\Python\Python37\python.exe D:/study/python/test/dd.pyTraceback (most recent call last):  File "D:/study/python/test/dd.py", line 89, in 
1/0ZeroDivisionError: division by zero
try:    1/0except Exception as e:  #捕获任何错误    print("error")C:\Users\zhaow\AppData\Local\Programs\Python\Python37\python.exe D:/study/python/test/dd.pyerror
try:    d[9]except Exception as e:  #捕获任何错误    print('error')C:\Users\zhaow\AppData\Local\Programs\Python\Python37\python.exe D:/study/python/test/dd.pyerror

3、捕获错误带分支逻辑

try:    a='000'except Exception as e:  #当有错误运行这里的代码    print('error')else: #当没有捕获到错误就运行这里的代码    print('无错误走这里')C:\Users\zhaow\AppData\Local\Programs\Python\Python37\python.exe D:/study/python/test/dd.py无错误走这里
try:    a=bexcept Exception as e:  #当有错误运行这里的代码    print('有错误运行这里')else: #当没有捕获到错误就运行这里的代码    print('无错误走这里')C:\Users\zhaow\AppData\Local\Programs\Python\Python37\python.exe D:/study/python/test/dd.py有错误运行这里

 4、捕获带finally

try:    a=bexcept Exception as e:  #当有错误运行这里的代码    print('有错误运行这里')else: #当没有捕获到错误就运行这里的代码    print('无错误走这里')finally: #出错还是不出错程序都会运行这里的代码    print('出错还是不出错我肯定是要运行的')C:\Users\zhaow\AppData\Local\Programs\Python\Python37\python.exe D:/study/python/test/dd.py有错误运行这里出错还是不出错我肯定是要运行的
try:    a=1except Exception as e:  #当有错误运行这里的代码    print('有错误运行这里')else: #当没有捕获到错误就运行这里的代码    print('无错误走这里')finally: #出错还是不出错程序都会运行这里的代码    print('出错还是不出错我肯定是要运行的')C:\Users\zhaow\AppData\Local\Programs\Python\Python37\python.exe D:/study/python/test/dd.py无错误走这里出错还是不出错我肯定是要运行的

 5、异常的输出

import tracebacktry:    a=aexcept Exception as e:    print(e) #输出具体的错误内容print('=====================')try:    a=aexcept Exception as e:    print(traceback.format_exc()) #输出详细的错误内容C:\Users\zhaow\AppData\Local\Programs\Python\Python37\python.exe D:/study/python/test/dd.pyname 'a' is not defined=====================Traceback (most recent call last):  File "D:/study/python/test/dd.py", line 94, in 
a=aNameError: name 'a' is not defined

 

 

转载于:https://www.cnblogs.com/xiaokuangnvhai/p/11164743.html

你可能感兴趣的文章
M51文件注释
查看>>
关于临界资源访问互斥量的死锁问题
查看>>
django-view层
查看>>
键盘按钮keyCode大全:获取按键对应的键值的方法
查看>>
unity3D中数组的应用_______蛋疼的____GameObject[]
查看>>
Win32Check对Windows操作 注销 重新启动 关闭计算机_Win32Check
查看>>
php中mongodb处理session的方法
查看>>
github博客搭建笔记
查看>>
make_head,,,pop_head,,,push_head,,,sort_head..
查看>>
c语言数据问题
查看>>
编程之美2015资格赛 解题报告
查看>>
团队开发
查看>>
异步加载JS的方法。
查看>>
golang-gorm框架支持mysql json类型
查看>>
【tool】白盒测试
查看>>
图论其一:图的存储
查看>>
20180923-WebService
查看>>
z变换
查看>>
Python - 静态函数(staticmethod), 类函数(classmethod), 成员函数
查看>>
Spring基础2
查看>>