一、异常基础

在编程程序出现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

KeyError

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中的异常如何处理相关推荐

  1. Python中获取异常(try Exception)信息

    Python中获取异常(try Exception)信息 参考文章: (1)Python中获取异常(try Exception)信息 (2)https://www.cnblogs.com/hixiao ...

  2. Python基础之:Python中的异常和错误

    文章目录 简介 Python中的内置异常类 语法错误 异常 异常处理 抛出异常 异常链 自定义异常 finally 简介 和其他的语言一样,Python中也有异常和错误.在 Python 中,所有异常 ...

  3. python读取json数据格式问题_浅谈Python中的异常和JSON读写数据的实现

    异常可以防止出现一些不友好的信息返回给用户,有助于提升程序的可用性,在java中通过try ... catch ... finally来处理异常,在Python中通过try ... except .. ...

  4. python 忽略 异常_如何忽略Python中的异常?

    python 忽略 异常 什么是例外? (What is an Exception?) An exception is an event, which occurs during the execut ...

  5. 【华为云技术分享】Python 中的异常和错误

    [摘要] 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下 异常和错误 第一:程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测, ...

  6. Python中的异常、try、except、finally、raise语法以及示例

    0. 引言 在编写Python程序时,有时我们不确定一段语句是否可以正确执行,因为如果发生错误,那么程序就会终止,这样对完整代码实现很不友好.我们希望可以程序可以根据不同的错误(异常)从而执行不同的语 ...

  7. python中什么是异常_一文教你读懂 Python 中的异常信息

    在写 Python 代码的时候,当代码中出现错误,会在输出的时候打印 Traceback  错误信息,很多初学者看到那一堆错误信息,往往都会处于懵逼状态,脑中总会冒出一句,这都是些啥玩意.如果你是第一 ...

  8. python中的异常分类_列举 5 个 Python 中的异常类型以及其含义【面试题详解】

    今天爱分享给大家带来列举 5 个 Python 中的异常类型以及其含义[面试题详解],希望能够帮助到大家. BaseException +-- SystemExit +-- KeyboardInter ...

  9. 在Python中捕捉异常

    在Python中捕捉异常 在Python中,可以使用try语句处理异常. 可能引发异常的关键操作放在try子句中,并且将处理异常的代码编写在except子句中. 捕获异常后,我们将执行什么操作取决于我 ...

最新文章

  1. 设计ADuC845低噪声信号采集版
  2. Java Servlet工作原理问答
  3. python 基础命令-Python 命令行(CLI)基础库
  4. mysql basedal_spring与MyBatis结合
  5. 机器学习导论(张志华):主元分析
  6. delphi接口基本学习摘录
  7. word技巧 很有用~
  8. 用HOOK禁用鼠标与键盘点击
  9. wxWidgets:wxSashEvent类用法
  10. php图片截取后缀,PHP抓取远程图片(含不带后缀的)教程详解
  11. angular中的表单验证
  12. POJ 2185 Milking Grid KMP循环节周期
  13. spring 监听器
  14. XML揭秘 入门 应用 精通pdf
  15. CSS样式表——列表与布局
  16. 华为摄像机搜索软件_华为放大招!概念股掀涨停潮,A股全产业链名单曝光(附名单)...
  17. ResourceBundle 用法
  18. Apache DolphinScheduler v2.0.1 Master 和 Worker 执行流程分析系列(三)
  19. Server-Sent Events 一种轻量级的Push方式
  20. 各种文件上传绕过姿势(一)

热门文章

  1. JS 父子(弹出)窗口操作总结
  2. 考研总分多少能去辽师_考研英语作文平均分出炉,你拖后腿了吗?
  3. log功能ASP.NET MVC能实现
  4. sqlserver2005 openRowSet 和row_Number
  5. .NET,你忘记了么?(六)——再谈String
  6. 关联规则挖掘算法_关联规则的挖掘与应用——Apriori和CBA算法
  7. 如何配置 strongSwan 客户端 -- 节选自 OpenSuSE 中文用户手册
  8. java 反射 接口工具类_Java 反射工具类 ReflectionUtils
  9. 快速开发框架介绍-懂你的RUOYI
  10. Go语言中的复合类型及面向对象思想