python中的异常如何处理
一、异常基础
在编程程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面。
1 try: 2 #正常逻辑代码 3 input = raw_input("输入数字:") 4 data = int(input) 5 6 except Exception,e: 7 #逻辑代码块出现错误, 8 print '请输入数字!!!'
两个数字相加异常处理:
1 while True: 2 number1 = raw_input('number1:') 3 number2 = raw_input('number2:') 4 try: 5 num1 = int(number1) 6 num2 = int(number2) 7 res = number1 + number2 8 print res 9 except Exception, e: 10 print '出现异常,信息如下:' 11 print e
二、异常种类
ArithmeticError AssertionError AttributeError BaseException BufferError BytesWarning DeprecationWarning EnvironmentError EOFError Exception FloatingPointError FutureWarning GeneratorExit ImportError ImportWarning IndentationError IndexError IOError KeyboardInterrupt KeyError LookupError MemoryError NameError NotImplementedError OSError OverflowError PendingDeprecationWarning ReferenceError RuntimeError RuntimeWarning StandardError StopIteration SyntaxError SyntaxWarning SystemError SystemExit TabError TypeError UnboundLocalError UnicodeDecodeError UnicodeEncodeError UnicodeError UnicodeTranslateError UnicodeWarning UserWarning ValueError Warning ZeroDivisionError
dic = {'k1':123,'k2':321} try:dic['k3'] except KeyError,e:print '出现异常,信息如下:'print e
li = ['gavin-guo'] try:li[100] except IndexError,e:print '出现异常,信息如下:'print e
IndexError
str = 'abc' try:int(str) except ValueError,e:print '出现异常,信息如下:'print e
ValueError
上述实例异常只能处理指定异常,如果非指定异常则无法处理
str = 'abc' try:int(str) except IndexError,e:print '出现异常,信息如下:'print e
出现错误信息了,则应该这样处理.
1 str = 'abc' 2 try: 3 int(str) 4 except IndexError,e: 5 print '出现异常,信息如下:' 6 print e 7 except ValueError,e: 8 print '出现异常,信息如下:' 9 print e 10 except KeyError,e: 11 print '出现异常,信息如下:' 12 print e
python中有一个异常能捕捉到所有异常:Exception
1 str = 'abc' 2 try: 3 int(str) 4 except Exception,e: 5 print e
三、异常的其他结构
1 try: 2 # 逻辑代码,连接数据库,执行sql语句 3 pass 4 except KeyError,e: 5 # 异常时,执行该块 6 pass 7 else: 8 # 逻辑码块中未出现异常执行这里的代码 9 pass 10 finally:11 # 永远执行,主代码块执行完之后执行.断开数据库连接,释放资源12 pass
四、主动触发异常
raise Exception('出现错误')
1 class A: 2 def a1(self): 3 return False 4 5 try: 6 a = '1' 7 #a = int(a) 8 re = A() 9 ret = re.a1() 10 if ret: 11 print '成功' 12 else: 13 raise Exception() #执行这一行代码,等于直接倒转到下面的except Exception 14 except Exception,e: 15 print '出现错误!!' 16 print e
五、自定义异常
自己定义一个异常,然后调用这个异常
1 class Gavinerror(Exception): 2 3 def __init__(self,date=None): 4 self.date = date 5 def __str__(self): 6 if self.date: 7 return self.date 8 else: 9 return 'Gavin error' 10 try: 11 raise Gavinerror() 12 except Exception,e: 13 print e
转载于:https://www.cnblogs.com/guociming/p/5132973.html
python中的异常如何处理相关推荐
- Python中获取异常(try Exception)信息
Python中获取异常(try Exception)信息 参考文章: (1)Python中获取异常(try Exception)信息 (2)https://www.cnblogs.com/hixiao ...
- Python基础之:Python中的异常和错误
文章目录 简介 Python中的内置异常类 语法错误 异常 异常处理 抛出异常 异常链 自定义异常 finally 简介 和其他的语言一样,Python中也有异常和错误.在 Python 中,所有异常 ...
- python读取json数据格式问题_浅谈Python中的异常和JSON读写数据的实现
异常可以防止出现一些不友好的信息返回给用户,有助于提升程序的可用性,在java中通过try ... catch ... finally来处理异常,在Python中通过try ... except .. ...
- python 忽略 异常_如何忽略Python中的异常?
python 忽略 异常 什么是例外? (What is an Exception?) An exception is an event, which occurs during the execut ...
- 【华为云技术分享】Python 中的异常和错误
[摘要] 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下 异常和错误 第一:程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测, ...
- Python中的异常、try、except、finally、raise语法以及示例
0. 引言 在编写Python程序时,有时我们不确定一段语句是否可以正确执行,因为如果发生错误,那么程序就会终止,这样对完整代码实现很不友好.我们希望可以程序可以根据不同的错误(异常)从而执行不同的语 ...
- python中什么是异常_一文教你读懂 Python 中的异常信息
在写 Python 代码的时候,当代码中出现错误,会在输出的时候打印 Traceback 错误信息,很多初学者看到那一堆错误信息,往往都会处于懵逼状态,脑中总会冒出一句,这都是些啥玩意.如果你是第一 ...
- python中的异常分类_列举 5 个 Python 中的异常类型以及其含义【面试题详解】
今天爱分享给大家带来列举 5 个 Python 中的异常类型以及其含义[面试题详解],希望能够帮助到大家. BaseException +-- SystemExit +-- KeyboardInter ...
- 在Python中捕捉异常
在Python中捕捉异常 在Python中,可以使用try语句处理异常. 可能引发异常的关键操作放在try子句中,并且将处理异常的代码编写在except子句中. 捕获异常后,我们将执行什么操作取决于我 ...
最新文章
- 设计ADuC845低噪声信号采集版
- Java Servlet工作原理问答
- python 基础命令-Python 命令行(CLI)基础库
- mysql basedal_spring与MyBatis结合
- 机器学习导论(张志华):主元分析
- delphi接口基本学习摘录
- word技巧 很有用~
- 用HOOK禁用鼠标与键盘点击
- wxWidgets:wxSashEvent类用法
- php图片截取后缀,PHP抓取远程图片(含不带后缀的)教程详解
- angular中的表单验证
- POJ 2185 Milking Grid KMP循环节周期
- spring 监听器
- XML揭秘 入门 应用 精通pdf
- CSS样式表——列表与布局
- 华为摄像机搜索软件_华为放大招!概念股掀涨停潮,A股全产业链名单曝光(附名单)...
- ResourceBundle 用法
- Apache DolphinScheduler v2.0.1 Master 和 Worker 执行流程分析系列(三)
- Server-Sent Events 一种轻量级的Push方式
- 各种文件上传绕过姿势(一)
热门文章
- JS 父子(弹出)窗口操作总结
- 考研总分多少能去辽师_考研英语作文平均分出炉,你拖后腿了吗?
- log功能ASP.NET MVC能实现
- sqlserver2005 openRowSet 和row_Number
- .NET,你忘记了么?(六)——再谈String
- 关联规则挖掘算法_关联规则的挖掘与应用——Apriori和CBA算法
- 如何配置 strongSwan 客户端 -- 节选自 OpenSuSE 中文用户手册
- java 反射 接口工具类_Java 反射工具类 ReflectionUtils
- 快速开发框架介绍-懂你的RUOYI
- Go语言中的复合类型及面向对象思想