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 自定义异常和异常捕捉的方法
异常捕捉: 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中捕捉详细异常信息的代码示例
大家在开发的过程中可能时常碰到一个需求,需要把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异常原理及异常捕捉实现过程解析
关于选课程序,最近着实有点忙,没机会复习os.pickle两部分模块,所以数据储存和字典读取成为了一个问题,大致原理知道,但是具体操作可能还是得返回去再好好看看,所以目前就提前开始学习新的知识了,虽然今天感觉str的相关方法忘的是干干净净的,但是我有pycharm. 今天主要内容是关于异常,其实有点想最开始刚学的感觉,比较简单. 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下:
-
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
随机推荐
- PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
- MySQL与Oracle差异比较之二 基本语法
- jquery+CSS3实现3D拖拽相册效果
- oracle 更改数据库名的方法
- javascript操作表格
- asp下检查表中是否存在某个字段(列)函数
- PHP最常用的ini函数分析 针对PHP.ini配置文件
- Bootstrap表单简单实现代码
- JavaScript 语法集锦 脚本之家基础推荐
- Ajax实现静态刷新页面过程带加载旋转图片
- Java Web程序中利用Spring框架返回JSON格式的日期
- 微信支付H5调用支付详解(java版)
- 深入分析Javascript事件代理
- jQuery之浮动窗口实现代码(两种方法)
- 不定义JQuery插件 不要说会JQuery
- Bootstrap基本插件学习笔记之标签切换(17)
- C#自定义音乐播放器进度条
- Yii2设置默认控制器的两种方法
- Spring Boot 使用 logback、logstash、ELK 记录日志文件的方法
- 易语言冒泡排序知识点总结