Python try except异常捕获机制原理解析
作者:落日峡谷 发布时间:2023-04-12 20:00:35
标签:Python,try,except,异常
当你执行大型程序的时候,突然出现exception,会让程序直接停止,这种对服务器自动程序很不友好,而python有着较好的异常捕获机制,不会立刻终止程序。
这个机制就是try-except。
1. 发生异常时可配置备用程序
aa = [1,2,4,5,7,0,2]
for ii in aa:
try:
h = 2/ii
print(h)
except: #发生异常时备用
h = 2/(ii+1)
print(h)
2. 单个异常捕获
dict_ = {}
try:
print(dict_['test'])
print(' --- testing... --- ')
except KeyError as e:
print('--- the error is ---:', e) #单个异常
print(' ---finished!!--- ')
3. 多个异常捕获,循环中
num = [9,7,0,1,4,'16']
for x in num:
try:
print (1/x)
except ZeroDivisionError:
print('error:0做除数!')
except TypeError: # 当报错信息为TypeError,执行下面的语句。
print('error:数值类型错误!')
print(' ---finished!!--- ')
4. 通用异常:Exception,当你不知道异常的种类或者多少异常的时候,可以使用通用异常捕获,同时通用异常可以与特定异常混用。
num = [9,7,0,1,4,'16']
for x in num:
try:
print (1/x)
except ZeroDivisionError:
print('error:0做除数!') #特定异常和Exception混合使用
except Exception as e:
print('the Exception is:',e)
print(' ---finished!!--- ')
5. else语句:在被检测的代码块没有发生异常时执行
dict_ = {'test':'这个地方是哪里?'}
try:
print(dict_['test'])
print(' --- testing... --- ')
except KeyError as e:
print('--- the error is ---:', e) #单个异常
else:
print('没有发生异常!')
print(' ---finished!!--- ')
6. finally语句:不管有没有发生异常都会执行
dict_ = {'test':'这个地方是哪里?'}
try:
print(dict_['test'])
print(' --- testing... --- ')
except KeyError as e:
print('--- the error is ---:', e) #单个异常
else:
print('没有发生异常!')
finally:
print('总可以被执行的语句。。。')
print(' ---finished!!--- ')
来源:https://www.cnblogs.com/qi-yuan-008/p/12708901.html
0
投稿
猜你喜欢
- 问题描述:使用 SQL 2005 w/ SP2 的汇出汇入精灵将数据从 Access 汇入到 SQL2005 发生了错误,但使用在SQL 2
- 这篇文章主要介绍了Python使用微信接入图灵机器人过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 什么是浮动?浮动是 css 的定位属性。我们可以看一下印刷设计来了解它的起源和作用。印刷布局中,文本可以按照需要围绕图片。一般把这种方式称为
- 因为Python是自带文档,可以通过help函数来查询每一个系统函数的用法解释说明。一般来说,关键的使用方法和注意点在这个系统的文档中都说的
- 依次前移,实现聊友们的发言的更迭:function form1_onsubmit()if document.form1.
- 代码如下:'其中注释中有 ###的需要用户设置 '其中注释中有 参数传递 ** 的 说明要通过参数 传递。'定义变量
- (1)应用于客户需要与不同的数据源进行交互时。数据可能来自不同的数据库,他们都有各自不同的复杂格式。但客户与这些数据库间只通过一种标准语言进
- \\create by ahuinan 2009-6-22 \\up by ahuian 2009-6-23 \\up by ahuinan
- 一、程序导出word文档的方法将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob、Apache PO
- 从而达到方便快捷的目的,但是它在存储信息的时候往往会有一些敏感的东西,这些东西可能成为被攻击的目标,如银行的账号、信用卡事务或档案记录等。这
- 一、项目背景:为了回顾关于django的文件上传和分页功能,打算写一个微型的小说网站练练手。花了一个下午的时间,写了个小项目,发现其中其实遇
- 如何侦测HTTP表头信息?可用下列办法侦测并显示所有的HTTP HEADERS:<HTML><HEAD><TI
- MapPathMapPath 方法将指定的相对或虚拟路径映射到服务器上相应的物理目录上。语法Server.MapPath( Path ) 参
- 本文介绍了使用python wasmtime来访问rust库的便捷方法,步骤极其简练,可以在生产环境中使用。安装rust target wa
- 代理服务是一种复杂的技术,具有很多可配置的移动组件。详细信息如下:信息信息是指在服务代理应用程序中调用的基本信息单元。对于服务代理来说,信息
- 直接给源代码了:$current_dir = 'E:/temp/';$dir = opendir($current_dir)
- Q:Dreamweaver(简称DW)中如何输入空格?A:按下“Ctrl+Shift+空格键”或者在中
- 这种情况在Access下可以通过,但SQL则不行,在百度搜索解决方法,发现N多人出现同样问题却找不到解决办法: 代码如下:set
- 数据库中提取长长的文章,总是有碍网页的排版布局。所以,想固定地提取一部分字符,然后后面有……替代。相关推荐:当标题不能显示完整的时候 1、原
- 目录你应该拥有的东西安装开始轻敲截图高级点击TemplateMatching滑动打电话给某人从手机下载文件到电脑手机录屏打开手机发送 Wha