Python之捕捉异常详解
目录
- 1.python中的异常
- 2.捕捉异常
- try-except
- 多个except子句
- 一个except块捕捉多个异常
- 空except:捕捉所有异常
- as语句:
- else语句:
- finally子句
- 上下文管理器和with语句
- 总结
1.python中的异常
语法错误:没有按照语法规则书写程序
运行错误:运行时出错
逻辑错误:逻辑上出错
用异常对象(exception object
)表示异常情况
2.捕捉异常
try-except
除数为0的异常:
将被检测的语句块放入try块,将异常处理语句块放入except块中
如果被检测的语句块中没有异常,则忽略except后的异常处理;否则执行异常处理语句块
多个except子句
一个except块捕捉多个异常
空except:捕捉所有异常
as语句:
错误原因放到err变量中并打印变量
else语句:
如果try块中没有异常,则else语句被执行
如果想要在产生异常后能多次输入直到正确为止,则可以加入while True 和break语句
break语句的位置
如果正常输入则跳出循环
finally子句
finally语句可以用在try语句中,无论是否发生异常,finally子句中的语句块都要被执行
上下文管理器和with语句
with语句将上下文管理表达式的值赋给变量,并执行其语句序列
with在结束后会自动关闭文件,是python中操作文件和数据库等对象是的推荐用法
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!
相关推荐
-
Python异常原理及异常捕捉实现过程解析
关于选课程序,最近着实有点忙,没机会复习os.pickle两部分模块,所以数据储存和字典读取成为了一个问题,大致原理知道,但是具体操作可能还是得返回去再好好看看,所以目前就提前开始学习新的知识了,虽然今天感觉str的相关方法忘的是干干净净的,但是我有pycharm. 今天主要内容是关于异常,其实有点想最开始刚学的感觉,比较简单. 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下:
-
Python中捕捉详细异常信息的代码示例
大家在开发的过程中可能时常碰到一个需求,需要把Python的异常信息输出到日志文件中. 网上的办法都不太实用,下面介绍一种实用的,从Python 2.7源码中扣出来的. 废话不说 直接上代码,代码不多,注释比较多而已. import sys, traceback traceback_template = '''Traceback (most recent call last): File "%(filename)s", line %(lineno)s, in %(name)s %(ty
-
python 自定义异常和异常捕捉的方法
异常捕捉: try: XXXXX1 raise Exception("xxxxx2") except (Exception1,Exception2,--): xxxx3 else: xxxxx4 finally: xxxxxxx5 1.raise 语句可以自定义报错信息,如上. 2. raise后的语句是不会被执行了,因为已经抛出异常,控制流将会跳到异常捕捉模块. 3. except 语句可以一个except后带多个异常,也可以用多个语句捕捉多个异常,分别做不同处理. 4. excep
-
python异常的捕捉和补救实例详解
1.捕捉特定异常 第一个符合条件的except语句会被执行,用于报告错误.如果仅仅是报告错误,程序依然会停止. a = 0 try: b = 5/a except ZeroDivisionError: print('Error: a不能为0') except ValueError: print('Error: 传入参数无效') 2.捕捉所有异常 except语句后面Exception表示捕获任何异常类型. a = 0 try: b = 5/a except Exception: print('a
-
Python之捕捉异常详解
目录 1.python中的异常 2.捕捉异常 try-except 多个except子句 一个except块捕捉多个异常 空except:捕捉所有异常 as语句: else语句: finally子句 上下文管理器和with语句 总结 1.python中的异常 语法错误:没有按照语法规则书写程序 运行错误:运行时出错 逻辑错误:逻辑上出错 用异常对象(exception object)表示异常情况 2.捕捉异常 try-except 除数为0的异常: 将被检测的语句块放入try块,将异
-
SpringBoot异步方法捕捉异常详解
本文实例为大家分享了SpringBoot异步方法捕捉异常的具体代码,供大家参考,具体内容如下 由于项目中定时器都采用异步执行方式 需要定时监控异步方法执行进度,异常情况 1 执行进度 可以设置是否在执行,内存中添加执行标识即可. 防止多次执行可以通过拦截器对此,标识来判断,防止多次执行定时器 2 异常捕捉 监控异步方法执行是否异常. 1 无返回值 配置AsyncExceptionConfig类,统一处理. 定义异常捕获配置类AsyncExceptionConfig,配置类里面定义SpringAs
-
JS调用C++函数抛出异常及捕捉异常详解
目录 总结 本文讲述如何利用v8::TryCatch捕捉js代码中发生的异常. 首先,声明TryCatch对象. v8::TryCatch trycatch( isolate ); 然后,定义抛出异常的函数: void ThrowException( const v8::FunctionCallbackInfo<v8::Value>& info ) { v8::Isolate* isolate = info.GetIsolate(); v8::HandleScope scope( is
-
Python基础之语法错误和异常详解
目录 一.前言 二.异常 三.异常处理 3.1 try/except 3.2 try/except ... else 3.3 try-finally 四.抛出异常 4.1 raise 五.用户自定义异常 六.断言 assert 一.前言 Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常. 二.异常 即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误.运行期检测到的错误被称为异常 三.异常处理 3.1 try/except tr
-
Python 异常处理的实例详解
Python 异常处理的实例详解 与许多面向对象语言一样,Python 具有异常处理,通过使用 try...except 块来实现. Note: Python v s. Java 的异常处理 Python 使用 try...except 来处理异常,使用 raise 来引发异常.Java 和 C++ 使用 try...catch 来处理异常,使用 throw 来引发异常. 异常在 Python 中无处不在:实际上在标准 Python 库中的每个模块都使用了它们,并且 Python 自已会在许多不
-
Facebook开源一站式服务python时序利器Kats详解
目录 什么是 Kats? 安装 Kats 将数据转换为时间序列 预测 从使用 Prophet 进行预测开始: 可视化 Holt-Winters 检测变化点 机器学习 深度学习 孤立点检测 时间序列特征 小结 转自微信公众号:机器学习社区,经作者授权转载 时间序列分析是数据科学中一个非常重要的领域,它主要包含统计分析.检测变化点.异常检测和预测未来趋势.然而,这些时间序列技术通常由不同的库实现.有没有一种方法可以让你在一个库中获得所有这些技术? 答案是肯定的,本文中我将分享一个非常棒的工具包 Ka
-
Python缩进和冒号详解
对于Python而言代码缩进是一种语法,Python没有像其他语言一样采用{}或者begin...end分隔代码块,而是采用代码缩进和冒号来区分代码之间的层次. 缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行. 例如: if True: print("Hello girl!") #缩进一个tab的占位 else: #与if对齐 print("Hello boy!") #缩进一个tab的占位 Python对代码的缩进要求非常严格
-
python实现报表自动化详解
本篇文章将介绍: xlwt 常用功能 xlrd 常用功能 xlutils 常用功能 xlwt写Excel时公式的应用 xlwt写入特定目录(路径设置) xlwt Python语言中,写入Excel文件的扩展工具.可以实现指定表单.指定单元格的写入.支持excel03版到excel2013版.使用时请确保已经安装python环境 xlrd Python语言中,读取Excel的扩展工具.可以实现指定表单.指定单元格的读取.使用时请确保已经安装python环境. NOTICE: xlwt对Excel只
-
Python模块文件结构代码详解
本文研究的主要是Python模块文件结构的相关内容,具体如下. Python文件结构 文件结构(范例全文) #/usr/bin/env python "this is a test module" import sys import os debug = True class FooClass (object): "Foo class" pass def test(): "test function" foo = FooClass() if de
-
基于python操作ES实例详解
这篇文章主要介绍了基于python操作ES实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 安装 pip install elasticsearch5 # 安装对应版本的模块 创建ES对象 from elasticsearch5 import Elasticsearch # elasticsearch集群服务器的地址 ES = [ '127.0.0.1:9200' ] # 创建elasticsearch客户端 es = Elasticse
随机推荐
- FCKEidtor 自动统计输入字符个数(IE)
- 分享15个美化代码的代码语法高亮工具
- thinkPHP多表查询及分页功能实现方法示例
- JS正则获取HTML元素的方法
- Python实现FTP上传文件或文件夹实例(递归)
- c语言动态数组示例
- C#域名解析简单实现方法
- 基于jquery的拖动布局插件
- Android Beam 文件传输失败分析与解决方法
- 内存不能为"read"的完美解决方案
- C#形状原点变换的方法
- Spring Boot/VUE中路由传递参数的实现代码
- PHP设计模式之装饰器模式定义与用法详解
- Android 仿抖音的评论列表的UI和效果的实现代码
- 可怕的万圣节 Linux 命令
- SpringCloud之熔断器Hystrix的实现
- Python Opencv提取图片中某种颜色组成的图形的方法
- js使用ajax传值给后台,后台返回字符串处理方法
- IOS微信摇一摇声音无法播放的解决办法
- Python SELENIUM上传文件或图片实现过程