一、异常基础

在编程程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面。

 try:
#正常逻辑代码
input = raw_input("输入数字:")
data = int(input) except Exception,e:
#逻辑代码块出现错误,
print '请输入数字!!!'

两个数字相加异常处理:

 while True:
number1 = raw_input('number1:')
number2 = raw_input('number2:')
try:
num1 = int(number1)
num2 = int(number2)
res = number1 + number2
print res
except Exception, e:
print '出现异常,信息如下:'
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

出现错误信息了,则应该这样处理.

 str = 'abc'
try:
int(str)
except IndexError,e:
print '出现异常,信息如下:'
print e
except ValueError,e:
print '出现异常,信息如下:'
print e
except KeyError,e:
print '出现异常,信息如下:'
print e

python中有一个异常能捕捉到所有异常:Exception

 str = 'abc'
try:
int(str)
except Exception,e:
print e

三、异常的其他结构

 try:
# 逻辑代码,连接数据库,执行sql语句
pass
except KeyError,e:
# 异常时,执行该块
pass
else:
# 逻辑码块中未出现异常执行这里的代码
pass
finally:
# 永远执行,主代码块执行完之后执行.断开数据库连接,释放资源
pass

四、主动触发异常

raise Exception('出现错误')

 class A:
def a1(self):
return False try:
a = ''
#a = int(a)
re = A()
ret = re.a1()
if ret:
print '成功'
else:
raise Exception() #执行这一行代码,等于直接倒转到下面的except Exception
except Exception,e:
print '出现错误!!'
print e

五、自定义异常

自己定义一个异常,然后调用这个异常

 class Gavinerror(Exception):

     def __init__(self,date=None):
self.date = date
def __str__(self):
if self.date:
return self.date
else:
return 'Gavin error'
try:
raise Gavinerror()
except Exception,e:
print e

python中的异常如何处理的更多相关文章

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

    异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置.下面介绍几种python中获取异常信息的方法,这里获取异常(Exception)信息采用try...except...程序 ...

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

    异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置. 这里获取异常(Exception)信息采用try...except...程序结构.如下所示: try: ... exce ...

  3. 【Python】解析Python中的异常操作

    目录结构: contents structure [-] try,except,else,finally块 异常处理 使用except而不带任何异常类型 使用except而带多种异常类型 try-fi ...

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

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

  5. python中的异常

    Python提供了两个非常重要的功能来处理异常和错误: 1) 异常处理try-.except 2) 断言assert 异常和断言,可以用于我们调试python程序,跟踪程序执行状态,尽快排查问题. 3 ...

  6. 一文教你读懂Python中的异常信息

    正文共:11813 字 2 图 预计阅读时间: 30 分钟 原文:https://realpython.com/python-traceback/ 译者:陈祥安 原文有所改动. 在写 Python 代 ...

  7. Python中的异常(Exception)处理

    异常 当你的程序出现例外情况时就会发生异常(Exception).例如,当你想要读取一个文件时,而那个文件却不存在,怎么办?又或者你在程序执行时不小心把它删除了,怎么办?这些通过使用异常来进行处理. ...

  8. Python基础入门知识点——Python中的异常

    前言 在先前的一些章节里你已经执行了一些代码,你一定遇到了程序“崩溃”或因未解决的错误而终止的情况.你会看到“跟踪记录(traceback)”消息以及随后解释器向你提供的信息,包括错误的名称.原因和发 ...

  9. 『无为则无心』Python函数 — 38、Python中的异常

    目录 1.异常概念 2.了解异常 3.异常的写法 (1)语法 (2)快速体验 (3)捕获指定异常 (4)异常中的else (5)异常中的finally (6)总结 1.异常概念 定义:程序在运行过程当 ...

随机推荐

  1. 数学之路(3)-机器学习(3)-机器学习算法-SVM[7]

    SVM是新近出现的强大的数据挖掘工具,它在文本分类.手写文字识别.图像分类.生物序列分析等实际应用中表现出非常好的性能.SVM属于监督学习算法,样本以属性向量的形式提供,所以输入空间是Rn的子集. 图 ...

  2. ComboBox控件绑定数据源

    最近在研究机房收费系统的组合查询的方法时,看到了ComboBox控件可以进行数据绑定,我觉得这个功能真的很不错,可以给我省去很多的麻烦. 下面是我组合查询窗体界面 一.数据转换方法 现在我们开看一下我 ...

  3. DLL编写教程(绝对经典之作)

    DLL编写教程 半年不能上网,最近网络终于通了,终于可以更新博客了,写点什么呢?决定最近写一个编程技术系列,其内容是一些通用的编程技术.例如DLL,COM,Socket,多线程等等.这些技术的特点就是 ...

  4. SGU 201 Non Absorbing DFA (DP)

    转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意:给出一个自动机,给出所有的转移,其中还有一个 ...

  5. BootStrap 智能表单系列 九 表单图片上传的支持

    本章介绍如何在生成表单后,可以支持上传图片后可以及时预览图片 代码如下(连接地址:https://github.com/xiexingen/Bootstrap-SmartForm/blob/maste ...

  6. zoom和transform:scale()的区别

    zoom和transform:scale()都可以用于缩放,目前移动端存在各种各样不同屏幕大小的手机,为了兼容不同宽度的屏幕,我们可以基于某一屏幕宽度大小(比如iPhone5的320,这个根据设计稿来 ...

  7. 图片变灰css3

    -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filte ...

  8. POJ 1850 Code(找规律)

    Code Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 7913   Accepted: 3709 Description ...

  9. [转]使用ping钥匙临时开启SSH:22端口,实现远程安全SSH登录管理就这么简单

    原文链接:使用ping钥匙临时开启SSH:22端口,实现远程安全SSH登录管理就这么简单 这个留待后面玩一下,还是有安全隐患,非核心业务 临时用一下可以. 设置防火墙策略时,关于SSH:22访问权限, ...

  10. Python学习笔记 (3) :列表、元组的操作

    列表,即写在方括号之间.用逗号分隔开的数值列表.列表内的项目不必全是相同的类型. >>> a = ['spam', 'eggs', 100, 1234] >>> a ...