惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
The GitHub Blog
The GitHub Blog
F
Fortinet All Blogs
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
L
LangChain Blog
爱范儿
爱范儿
博客园_首页
Stack Overflow Blog
Stack Overflow Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 三生石上(FineUI控件)
大猫的无限游戏
大猫的无限游戏
宝玉的分享
宝玉的分享
GbyAI
GbyAI
H
Help Net Security
A
About on SuperTechFans
Recent Announcements
Recent Announcements
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
D
Docker
博客园 - Franky
有赞技术团队
有赞技术团队
G
Google Developers Blog

老董笔记

尚硅谷机构在哪?尚硅谷培训怎么样?靠谱吗-互联网IT百科 韩顺平介绍,传智讲师,开办泰牛,入尚硅谷等一系列-互联网IT百科 pandas多重索引标准样式(写入excel有空行)-互联网IT百科 cannot join with no overlapping index names-互联网IT百科 pandas多列变多行(即宽表变长表)melt和stack函数-互联网IT百科 pandas多行转多列(长表变宽表)pivot和unstack-互联网IT百科 Index contains duplicate entries, cannot reshape完美解决-互联网IT百科 single positional indexer is out-of-bounds-互联网IT百科 Can only compare identically-labeled Series objects-互联网IT百科 pandas transform用法详解(多个案例)-互联网IT百科 python四舍五入精确实现-互联网IT百科 pandas的groupby使用apply分组排序-互联网IT百科 index 0 is out of bounds for axis 0 with size 0-互联网IT百科 pandas分组过滤filter函数-互联网IT百科 联想Win10系统如何禁用触摸屏关闭触摸-互联网IT百科 groupby分组计算transform转换返回相同长度序列-互联网IT百科 brooks seo教程python教程,brooks seo教程网盘,布鲁seo资源-互联网IT百科 电脑右键文件夹一直转圈电卡死怎么回事-互联网IT百科 施琪嘉的心理成长课(荐)-互联网IT百科 百度SEO公司_SEO推广公司哪家好_SEO外包服务如何选-老董笔记 groupby后agg同1列用多个聚合函数、不同列用不同函数、自定义函数-互联网IT百科 pandas的groupby单列多列分组聚合运算-互联网IT百科 DataFrameGroupBy对象及分组个数、分组大小、组名索引、组数据详解-互联网IT百科 pandas中groupby之Grouper and axis must be same length-互联网IT百科 pandas中groupby的分组原理-互联网IT百科 pandas的groupby的使用详解大全-互联网IT百科 openpyxl单元格自动换行强制换行Alignment(wrapText=True)-互联网IT百科 python教程全套(可就业)-互联网IT百科 联想win10系统CPU显示100%,电脑呼呼响怎么回事-互联网IT百科 如何自制CPU,CPU原理是怎么样的?-互联网IT百科
try except(多个except)多异常处理-互联网IT百科
2020-08-29 · via 老董笔记

  在python中,try except是基本的捕获并处理异常的语句,try except语句里try代码块写一个即可,except 代码块可以写多个,每个 except 块都可以参与处理1个或者多个异常。

  我们先从理论上知道下try except 语句的执行流程:

  1、首先执行try子句(在关键字try和关键字except之间的语句),如果执行出错,try语句余下的部分将被忽略,系统会自动生成一个异常交给python解释器,此为捕获异常。

  2、python解释器收到异常对象后,会寻找能处理该异常的except块,找到后则把该异常对象交给该except代码块处理,此为处理异常。

  3、处理异常后,程序继续执行后续的代码(注意不是try后面的代码)

  PS:如果第2步python解释器找不到能处理该异常的except块,则程序运行终止;如果第1步整个try语句执行过程没有异常发生,那么except语句块会被忽略句。

  接下来我们用4个案例展示try和except1个或者多个的具体用法。

  1个try1个except处理1个异常

  先看一下不加异常的运行情况,再看下加上异常处理后的情况

# -*- coding: utf-8 -*-

print(1)
print(name)
print(2)
print(3)

1
Traceback (most recent call last):
  File "D:/pyscript/py3script/python66/python66.py", line 4, in 
    print(name)
NameError: name 'name' is not defined

# -*- coding: utf-8 -*-

# 异常处理
try:
    print(1)
    print(name)
    print(2)
except NameError as e:
    print('有异常',e) # 处理异常

print(3)

1
有异常 name 'name' is not defined
3

  1个try1个except处理多个异常

# -*- coding: utf-8 -*-

try:
    print(1/0)
    print(name)
except (NameError,ZeroDivisionError) as e:
    print('出错!除以0或者打印未定义变量',e)

print('-----------------------')

try:
    print(name)
    print(1 / 0)
except (NameError,ZeroDivisionError) as e:
    print('出错!除以0或者打印未定义变量',e)


出错!除以0或者打印未定义变量 division by zero
-----------------------
出错!除以0或者打印未定义变量 name 'name' is not defined

  1个try多个except处理多个异常

# -*- coding: utf-8 -*-

try:
    a = [1,2]
    print(a[2])
    print(name)
    print(1 / 0)
except NameError as e:
    print('出错!打印未定义变量',e)
except ZeroDivisionError as e:
    print('出错!除以0',e)
except IndexError as e:
    print('出错!列表索引异常',e)


出错!列表索引异常 list index out of range

  从上面的案例可以看出try except语法很灵活,但是你可能有疑问,在编程中并不知道可能会出现哪一类的Error,那怎么实现捕获并处理异常呢?请继续看下节课的Exception关键字的用法。

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会