python--------异常处理(二)

格式如下:

try:
    pass
except Exception as e:#如果上面出错,执行下面代码
    pass
else:#try如果没出错执行此下面代码
    pass
finally:#执行完上面的执行此下面代码
    pass

try 尝试去执行下放代码

except 配合异常 as e 将异常给变量e ,如果try出错就执行,Exception为所有异常都可以捕获

else 执行try如果没有问题就执行else的内容

finally 上面全部执行完毕后执行

raise 主动异常标示词

assert 条件 符合条件往下执行,不符合不执行报错

案例一:

Python

try:
    int("abc")
except Exception as e:#如果上面出错,执行下面代码
    print(e)
else:#try如果没出错执行此下面代码
    print("我是else")
finally:#执行完上面的执行此下面代码
    print("我是finally")

#本段代码来自 海瑞博客http://www.hairuinet.com/python/20161247/index.html

案例二:

Python

try:
    int("123")
except Exception as e:#如果上面出错,执行下面代码
    print(e)
else:#try如果没出错执行此下面代码
    print("我是else")
finally:#执行完上面的执行此下面代码
    print("我是finally")

#本段代码来自 海瑞博客http://www.hairuinet.com/python/20161247/index.html

案例三:主动异常

Python

try:
    print("aaa")
    raise Exception("我是错误信息")#主动错误

except Exception as e:
    print(e)

#本段代码来自 海瑞博客http://www.hairuinet.com/python/20161247/index.html

案例四:自定义报错类

Python

class nbEro(Exception):#自定义继承exception错误

    def __init__(self,msg):
        self.msg =msg
    def __str__(self):
        return self.msg

try:
    print(123)
    raise nbEro("我错了")
except Exception as e:
    print(e)

#本段代码来自 海瑞博客http://www.hairuinet.com/python/20161247/index.html

案例五:用于是否成立,叫 断言  强制服从,可捕获错误,一般不捕获

Python

print("1111")
assert 1==2
print("222")

#本段代码来自 海瑞博客http://www.hairuinet.com/python/20161247/index.html

附录 常用异常:

AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
IOError 输入/输出异常;基本上是无法打开文件
ImportError 无法引入模块或包;基本上是路径问题或名称错误
IndentationError 语法错误(的子类) ;代码没有正确对齐
IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError 试图访问字典里不存在的键
KeyboardInterrupt Ctrl+C被按下
NameError 使用一个还未被赋予对象的变量
SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
TypeError 传入对象类型与要求的不符合
UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,
导致你以为正在访问它
ValueError 传入一个调用者不期望的值,即使值的类型是正确的

附录二 所有异常:

Python

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

#本段代码来自 海瑞博客http://www.hairuinet.com/python/20161247/index.html
时间: 2024-08-14 09:45:22

python--------异常处理(二)的相关文章

Python异常处理总结

一.何谓异常处理 在我们调试程序时,经常不可避免地出现意料之外的情况,导致程序不得不停止运行,然后提示大堆提示信息,大多是这种情况都是由异常引起的.异常的出现一方面是因为写代码时粗心导致的语法错误,这种错误在程序编译时就可以发现:另一方面也可能是因为程序逻辑错误,这种错误往往是不可避免地,只能通过异常处理来防止程序退出. 二.异常类型 Python自带的异常处理机制非常强大,提供了很多内置异常类,可向用户准确反馈出错信息.Python是面向对象语言,认为一切皆对象,所以异常也是对象.Python

[Python 学习] 二、在Linux平台上使用Python

这一节,主要介绍在Linux平台上如何使用Python 1. Python安装. 现在大部分的发行版本都是自带Python的,所以可以不用安装.如果要安装的话,可以使用对应的系统安装指令. Fedora系统:先以root登入,运行 yum install python Ubuntu系统:在root组的用户, 运行 sudo apt-get install python 2. 使用的Python的脚本 Linux是一个以文件为单位的系统,那么我们使用的Python是哪一个文件呢? 这个可以通过指令

Python 异常处理

Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Python教程会具体介绍. 断言(Assertions):本站Python教程会具体介绍. python标准异常 异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIter

OpenCV for Python 学习 (二 事件与回调函数)

今天主要看了OpenCV中的事件以及回调函数,这么说可能不准确,主要是下面这两个函数(OpenCV中还有很多这些函数,可以在 http://docs.opencv.org/trunk/modules/highgui/doc/user_interface.html 找到,就不一一列举了),然后自己做了一个简单的绘图程序 函数如下: cv2.setMouseCallback(windowName, onMouse[, param]) cv2.createTrackbar(trackbarName,

【美妙的Python之二】Python初步

美妙的Python之Python起步 简而言之: Python 是能你无限惊喜的语言,与众不同.           1.动态类型:         Python是一种动态类型语言,不需要预先声明变量的类型,变量的类型和值在赋值那一刻动态地初始化.这一点与C/C++,Java等静态类型语言完全不同,静态类型在编译阶段就必须显示的声明变量的类型,动态类似在运行时才确定变量的类型.        变量a动态地初始化为int类型,并赋值2014;        变量msg则动态初始化为str类型,并赋

Python的二维数组

Python一维数组初始化: >>> list=[] >>> type(list) <type 'list'> >>> list [] Python二维数组初始化: >>> lists = [[]] * 3 >>> lists [[], [], []] >>> lists[0].append(3) >>> lists [[3], [3], [3]] "[[]]

Python 异常处理--raise函数用法

raise语句手工引发一个异常: 1 "raise" [expression ["," expression ["," expression]]] 在Python中,要想引发异常,最简单的形式就是输入关键字raise,后跟要引发的异常的名称.异常名称标识出具体的类: Python异常处理是那些类的对象.执行raise语句时,Python会创建指定的异常类的一个对象.raise语句还可指定对异常对象进行初始化的参数.为此,请在异常类的名称后添加一个

python 生成二维码

#coding:utf8 try: import qrcode except ImportError: qrcode = None class MakeQr: def onUseQrcode(self, value): qr = qrcode.QRCode(version=1, box_size=10, border=4) qr.add_data(value) qr.make(fit=True) x = qr.make_image() img_file = open("1.jpg",

Python基础二--基本控制语句

基本接触每一种语言,都需要做的:1.print 一个"Hello world!" 2.了解基本的数据类型 3.学习控制语句. 当我们学习控制语句,一般都离不开if,for ,while,switch(case).本文就做一个简单的介绍python的基本控制语句,其中我们用if while来做一个经典的"猜数字游戏",if for来做一个"输出完美数". 在此之前,对于一些没用过python的同学而熟悉c/c++等用{}来做块的要注意了,pytho

十一、Python异常处理

Python异常处理 异常抛出机制,为程序开发人员提供了一种在运行时发现错误,进行回复处理,然后继续执行的能力 #!/usr/bin/python try: open('abc.txt') except IOError,msg: pass 抛出机制: 如果在运行时发生异常的话,解释器会查找相应的处理语句(称为handler) 要是在当前函数力没有找到的话,它会将异常传递给上层的调用函数,看看那里能不能处理 如果在最外层(全局"main")还是没有找到的话,解释器就会退出,同时打印出tr