【10.12 Python异常机制使用细则,正确使用Python异常处理机制】教程文章相关的互联网学习教程文章

详解在Python中处理异常的教程

什么是异常? 异常是一个事件,其中一个程序,破坏程序的指令的正常流的执行过程中而发生的。一般情况下,当一个Python脚本遇到一些情况不能处理,就抛出一个异常。异常是一个Python对象,它表示一个错误。 当Python脚本抛出一个异常,它必须处理异常,否则将立即终止。 处理异常: 如果有可能会引发异常的一些可疑的代码,就可以通过将可疑的代码在一个try块:保卫你的程序。在try块,包括以下情况except:语句,其次是代码,作为...

Python编程中的异常处理教程

1、异常简介 从软件方面来说,错误是语法或是逻辑上的,当python检测到一个错误时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常。异常分为两个阶段:首先是引起异常发生的错误,然后是检测和采取可能的措施。常见异常有 NameError、ZeroDivisionError、SyntaxError、IndexError、KeyError、IOError、AttributeError、ValueError、 TypeError等。所有的标准/内建异常都是从根异常派生的,目前,有3个直接从BaseE...

玩转python爬虫之URLError异常处理

本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理。 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网连接不到特定的服务器服务器不存在在代码中,我们需要用try-except语句来包围并捕获相应的异常。下面是一个例子,先感受下它的风骚import urllib2requset = urllib2.Request(http://www.xxxxx.com) try:urllib2.urlopen(requset) except urllib2.URLError, e:print e.reason 我们利用...

Python中遍历字典过程中更改元素导致异常的解决方法

先来回顾一下Python中遍历字典的一些基本方法: 脚本:#!/usr/bin/python dict={"a":"apple","b":"banana","o":"orange"} print "##########dict######################" for i in dict: print "dict[%s]=" % i,dict[i] print "###########items#####################" for (k,v) in dict.items(): print "dict[%s]=" % k,v print "###########iteritems#################" for k,v in dict.iteritems(): print "dict[%s]=" % k...

Python的异常机制及规范是否相当不人性化?

python的标准库中都众所周知各种随处随手的 raise,遑论各种质量参差的第三方库?python的官方 PEP8 标准中却又明确要求When catching exceptions, mention specific exception这分明是霸王条款一般的语言规范,如果要客户做到 catch specific exception,那么至少你的语言层面要有 raise specific exception 的机制吧(类似 java?),然而 python 并没有。实在有些令人哭笑不得。回复内容: 你们啊,不要想喜欢弄个大新闻。拿Jav...

异常(exception)和执行失败有什么区别?

例如一个User Class 的 add 方法,在成功的情况下返回用户对象实例,在失败的情况返回False并可以通过getError方法获取失败原因字符串........说到这里,我好像明白了,难道add方法总是应该返回用户对象,否则抛出异常吗?但是这样的话,他们的代码量没什么区别的啊。问题在于即使调用add方法处没有捕捉异常,该异常也能进一步向上抛出直至被处理或引发进程崩溃?可是说到底,这和程序自然崩溃有什么区别呢?---- 以上为自言自语,...

Python中捕捉详细异常信息的代码示例

大家在开发的过程中可能时常碰到一个需求,需要把Python的异常信息输出到日志文件中。 网上的办法都不太实用,下面介绍一种实用的,从Python 2.7源码中扣出来的。 废话不说 直接上代码,代码不多,注释比较多而已。import sys, tracebacktraceback_template = Traceback (most recent call last):File "%(filename)s", line %(lineno)s, in %(name)s %(type)s: %(message)s\n # Skipping the "actual line" item# Also note: we do...

python进阶教程之异常处理

在项目开发中,异常处理是不可或缺的。异常处理帮助人们debug,通过更加丰富的信息,让人们更容易找到bug的所在。异常处理还可以提高程序的容错性。 我们之前在讲循环对象的时候,曾提到一个StopIteration的异常,该异常是在循环对象穷尽所有元素时的报错。 我们以它为例,来说明基本的异常处理。 一个包含异常的程序:代码如下: re = iter(range(5)) for i in range(100):print re.next() print HaHaHaHa首先,我们定义了一个循环对...

python中的五种异常处理机制介绍

从几年前开始学习编程直到现在,一直对程序中的异常处理怀有恐惧和排斥心理。之所以这样,是因为不了解。这次攻python,首先把自己最畏惧和最不熟悉的几块内容列出来,里面就有「异常处理」这一项。 《Dive into Python》并没有专门介绍异常处理,只是例子中用到的时候略微说明了一下。今天下载《Learn Python》,直接进异常处理这块。这一部分有四章,第一章讲解异常处理的一般使用方法,后面的章节深入地讨论其机制。我目前只看了...

Python中的异常处理学习笔记

Python 是面向对象的语言,所以程序抛出的异常也是类。 常见的异常类 1.NameError:尝试访问一个没有申明的变量 2.ZeroDivisionError:除数为 0 3.SyntaxError:语法错误 4.IndexError:索引超出序列范围 5.KeyError:请求一个不存在的字典关键字 6.IOError:输入输出错误(比如你要读的文件不存在) 7.AttributeError:尝试访问未知的对象属性 8.TypeError:传给函数的参数类型不正确,比如给 int 函数传入字符型 自定义异常类 尽...

Python异常学习笔记

异常(exceptions)是Python中一种非常重要的类型,它和语法错误不同,是在程序运行期间引发的错误。Python中内置了很多异常,如IOError,NameError,KeyboardInterrupt等,更多的异常可以点击这里。 异常的意义在于提供一种更加优雅的运行方式,例如用Python编写一个计算器,如果用户输入不能计算的对象,则可以抛出异常,并进行处理, 如下:while True:try:x= int(input(Please In enter A number:))print "Your Input is %s"%xbreake...

零基础写python爬虫之HTTP异常处理

先来说一说HTTP的异常处理问题。 当urlopen不能够处理一个response时,产生urlError。 不过通常的Python APIs异常如ValueError,TypeError等也会同时产生。 HTTPError是urlError的子类,通常在特定HTTP URLs中产生。1.URLError 通常,URLError在没有网络连接(没有路由到特定服务器),或者服务器不存在的情况下产生。 这种情况下,异常同样会带有"reason"属性,它是一个tuple(可以理解为不可变的数组), 包含了一个错误号和一个错误...

处理Python中的URLError异常的方法

1.URLError 首先解释下URLError可能产生的原因:网络无连接,即本机无法上网 连接不到特定的服务器 服务器不存在在代码中,我们需要用try-except语句来包围并捕获相应的异常。下面是一个例子,先感受下它的风骚import urllib2requset = urllib2.Request(http://www.xxxxx.com) try:urllib2.urlopen(requset) except urllib2.URLError, e:print e.reason 我们利用了 urlopen方法访问了一个不存在的网址,运行结果如下:[Errno...

详解在Python程序中自定义异常的方法

通过创建一个新的异常类,程序可以命名它们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式。 以下为与RuntimeError相关的实例,实例中创建了一个类,基类为RuntimeError,用于在异常触发时输出更多的信息。 在try语句块中,用户自定义的异常后执行except块语句,变量 e 是用于创建Networkerror类的实例。class Networkerror(RuntimeError):def __init__(self, arg):self.args = arg 在你定义以上类后,你可以...

Ubuntu14.04安装MySQL-python异常: mysql_config: not found,Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-MJWMPd/MySQL-python/

<img alt="技术分享" src="http://www.mamicode.com/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUoAAAE8CAIAAACZ6RwMAAAgAElEQVR4nOydaVxTx9fHn9dhKWqltv3XbmFxQS4BwhI2RWQVBERBWQQRBUTEBRBxr3tdsGotLlXU4lqtWosLbtWiFVCxgAURZVVAQAhLIMl5XiRASHInIYCoPffzfQOTmXvmzDmT+eXOvff/WpqbKQaTYjCNhs9/APAgiG3EYFLdMWVtfwHN6W6GUv+3dL7ABZnj5ZGAIUyOxzWe8P6iz5kct0stwqwlw3UsnS9whQ+Xfa3LcbnYBFUn7Aw62jEI+KkKGs6HaTMpho6d77VWqEjhj...