python异常

                 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

python下异常如何处理:

  1 #encoding=utf-8
  2
  3 """
  4 python遇到异常,程序直接运行
  5 try:
  6     "判断有可能抛出异常的代码"
  7     print "haha"
  8 except:
  9     "异常下运行的代码"
 10 else:
 11     "运行没有异常时候的逻辑"
 12 finally:
 13     "不管try判断如何,该代码总会执行"
 14
 15 合理利用异常:
 16     1、不得不用的地方采用异常;
 17     2、正确使用异常:需要对异常进行捕获
 18      比如:except IOError:
 19
 20 """
 21
 22 a = [1, 2, 3, 4, 5, 6]
 23
 24 print a[4]
 25
 26 try:
 27     print a[6]
 28 except:
 29     print u'哈哈'
 30
 31 print "继续可以到这里"
 32
 33
 34 try:
 35     print a[6]
 36 except:
 37     print "huhu"
 38 else:
 39     print "hoho"
 40 finally:
 41     print "hehe"
 42
 43
 44 import urllib
 45 sth_url = "http://wsdfsdf"
 46
 47 try:
 48     d = urllib.urlopen(sth_url)
 49 except:
 50     print "出错了"
 51 else:
 52     content = d.read()
 53 finally:
 54     pass
 55     #d.close()
 56
 57 """
 58 异常的note:
 59     1、一个try对应一个except
 60     2、使用python内置异常,来对应自身情况;
 61     IOErro, IndexError
 62     3、捕获异常的办法:
 63         import logging
 64         logger = logging.getLogger()
 65         #logfile = 'excetion_demo.log'    #log文件名
 66         hdlr = logging.FileHandler('/tmp/sendlog.txt')
 67         formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
 68         hdlr.setFormatter(formatter)
 69         logger.addHandler(hdlr)  #logging绑定
 70         logger.setLevel(logging.NOTSET)
 71
 72
 73         import sys, logging
 74         try:
 75             d = urllib.urlopen("www.kdkdk.com")
 76         except:
 77             exc = sys.exc_info()
 78             loggin.debug(exc[1]
 79             print exc[1]
 80             print exc
 81     4、断言,assert
 82         assert 表达式,"出错后抛出message"
 83         assert 1>4,  "expression Error"
 84     先断言绝对不能发生的错误,然后在处理异常;
 85 """
 86
 87 """
 88 with用法:自动回收垃圾
 89 #进入时,调用对象的__enter__
 90 #退出时,调用对象的__exit__函数
 91
 92 d = open('a', 'r')
 93 d.read()
 94 d.close()
 95
 96 with open('a', 'r')  as d:
 97     content = a.read()
 98 """
 99
100 #with示例:
101 class sth(object):
102     def __init__(self, xixi):
103         self.a  = xixi
104
105     def __enter__(self):
106         print u'哈哈, 进来了'
107         return self.a
108
109     def __exit__(self, type, value, traceback):
110         print u'哈哈,出去了'
111
112 with sth("gg") as s:
113     print s         #s为__enter__返回值
114
115 """
116 定义自己的异常类
117 """
118
119 class myException(Exception):
120     def __init__(self, error, msg):
121         self.args = (error, msg)
122         self.error = error
123         self.msg  = msg
124
125 try:
126     raise myException(1, "my exception")
127 except Exception as e:
128     print str(e)

 

时间: 2024-10-31 00:03:18

python异常的相关文章

Python异常学习笔记_python

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

python异常和文件处理机制详解_python

本文实例讲述了python异常和文件处理机制.分享给大家供大家参考,具体如下: 1 异常处理 Python的异常用 try except finally 来处理. 并且except后还可以跟 else . 引发异常用 raise 如果抛出的异常没有被处理. 在Python IDE中是显示一些红色的信息. 在真正的Python程序运行时. 会导致程序终止. 在以前我们已经见到过一下几种异常: 在 Dictionary 中如果使用的 key 不存在. 会引发 KeyError 异常. 如: >>&

python异常继承树

BaseException  +-- SystemExit  +-- KeyboardInterrupt  +-- GeneratorExit  +-- Exception       +-- StopIteration       +-- StandardError       |    +-- BufferError       |    +-- ArithmeticError       |    |    +-- FloatingPointError       |    |    +-

Python 错误和异常小结[转]

原文链接    http://blog.csdn.net/sinchb/article/details/8392827      事先说明哦,这不是一篇关于Python异常的全面介绍的文章,这只是在学习Python异常后的一篇笔记式的记录和小结性质的文章.什么?你还不知道什么是异常,额... 1.Python异常类     Python是面向对象语言,所以程序抛出的异常也是类.常见的Python异常有以下几个,大家只要大致扫一眼,有个映像,等到编程的时候,相信大家肯定会不只一次跟他们照面(除非你

用Python编写网络爬虫(三):异常的处理和HTTP状态码的分类

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

【Python之旅】第四篇(二):Python异常处理与异常捕捉

 在Python程序的执行过程中,难免会出现异常的情况,如果做的是跟用户交互的程序,当用户输入不可接受的内容时,在可预见的范围内,我们当然是希望可以给用户一些提示,而不是原来Python内置异常中的那些提示语句,毕竟那些语句只适合给程序员做调试参考,对用户并没有多大的价值.因此这就需要了解Python的常见异常了.     当然,我们也可以制作自己的异常,当用户输入满足或不满足我们的需求时,就可以触发这些异常,以使我们写的程序更加人性化. 1.Python常见异常与演示     Python常见

Python 错误和异常小结_python

事先说明哦,这不是一篇关于Python异常的全面介绍的文章,这只是在学习Python异常后的一篇笔记式的记录和小结性质的文章.什么?你还不知道什么是异常,额... 1.Python异常类 Python是面向对象语言,所以程序抛出的异常也是类.常见的Python异常有以下几个,大家只要大致扫一眼,有个映像,等到编程的时候,相信大家肯定会不只一次跟他们照面(除非你不用Python了). 异常 描述 NameError 尝试访问一个没有申明的变量 ZeroDivisionError 除数为0 Synt

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

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

《数据结构与算法:Python语言描述》一2.4Python异常

2.4Python异常 现在简单介绍Python异常与类的关系,语言内建的异常类层次结构,以及Python语言如何利用面向对象的观点组织异常处理过程.编程中有时需要自己定义异常(类型),如果需要这样做,就应该选一个系统异常类,从它派生. 2.4.1异常类和自定义异常 异常是Python语言中的一套特殊的控制机制,主要用于支持错误的检查和处理,也可以用于实现特殊的控制转移.如果程序执行中发生异常,无论是解释器发现的异常情况(例如除零或类型错误等),还是通过raise语句引发的异常,正常执行控制流立