1、python下异常如何处理:

 #encoding=utf-8

 """
python遇到异常,程序直接运行
try:
"判断有可能抛出异常的代码"
print "haha"
except:
"异常下运行的代码"
else:
"运行没有异常时候的逻辑"
finally:
"不管try判断如何,该代码总会执行" 合理利用异常:
1、不得不用的地方采用异常;
2、正确使用异常:需要对异常进行捕获
比如:except IOError: """ a = [1, 2, 3, 4, 5, 6] print a[4] try:
print a[6]
except:
print u'哈哈' print "继续可以到这里" try:
print a[6]
except:
print "huhu"
else:
print "hoho"
finally:
print "hehe" import urllib
sth_url = "http://wsdfsdf" try:
d = urllib.urlopen(sth_url)
except:
print "出错了"
else:
content = d.read()
finally:
pass
#d.close() """
异常的note:
1、一个try对应一个except
2、使用python内置异常,来对应自身情况;
IOErro, IndexError
3、捕获异常的办法:
import logging
logger = logging.getLogger()
#logfile = 'excetion_demo.log' #log文件名
hdlr = logging.FileHandler('/tmp/sendlog.txt')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr) #logging绑定
logger.setLevel(logging.NOTSET) import sys, logging
try:
d = urllib.urlopen("www.kdkdk.com")
except:
exc = sys.exc_info()
loggin.debug(exc[1]
print exc[1]
print exc
4、断言,assert
assert 表达式,"出错后抛出message"
assert 1>4, "expression Error"
先断言绝对不能发生的错误,然后在处理异常;
""" """
with用法:自动回收垃圾
#进入时,调用对象的__enter__
#退出时,调用对象的__exit__函数 d = open('a', 'r')
d.read()
d.close() with open('a', 'r') as d:
content = a.read()
""" #with示例:
class sth(object):
def __init__(self, xixi):
self.a = xixi def __enter__(self):
print u'哈哈, 进来了'
return self.a def __exit__(self, type, value, traceback):
print u'哈哈,出去了' with sth("gg") as s:
print s #s为__enter__返回值 """
定义自己的异常类
""" class myException(Exception):
def __init__(self, error, msg):
self.args = (error, msg)
self.error = error
self.msg = msg try:
raise myException(1, "my exception")
except Exception as e:
print str(e)

python下异常处理的更多相关文章

  1. Python进阶----异常处理

    Python进阶----异常处理 一丶错误和异常   错误:       语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 ...

  2. python的异常处理机制

    异常机制己经成为衡量一门编程语言是否成熟的标准之一,使用异常处理机制的 Python 程序有更好的容错性,更加健壮. 对于计算机程序而言,情况就更复杂了一一没有人能保证自己写的程序永远不会出辛苦!就算 ...

  3. python下ssh的简单实现

    python下的ssh都需要借助第三方模块paramiko来实现,在使用前需要手动安装. 一.python实现ssh (1) linux下的ssh登录 root@ubuntu:~# ssh morra ...

  4. python下编译py成pyc和pyo

     python下编译py成pyc和pyo   其实很简单, 用 python -m py_compile file.py python -m py_compile /root/src/{file1,f ...

  5. Python下划线与命名规范

    Python下划线与命名规范 先看结论,节省只想知道答案你的宝贵时间: _xxx 不能用于from module import * 以单下划线开头的表示的是protected类型的变量.即保护类型只能 ...

  6. python下的orm基本操作(1)--Mysql下的CRUD简单操作(含源码DEMO)

    最近逐渐打算将工作的环境转移到ubuntu下,突然发现对于我来说,这ubuntu对于我这种上上网,收收邮件,写写博客,写写程序的时实在是太合适了,除了刚接触的时候会不怎么完全适应命令行及各种权限管理, ...

  7. Python下科学计算包numpy和SciPy的安装

    转载自:http://blog.sina.com.cn/s/blog_62dfdc740101aoo6.html Python下大多数工具包的安装都很简单,只需要执行 “python setup.py ...

  8. python下的复杂网络编程包networkx的安装及使用

    由于py3.x与工具包的兼容问题,这里采用py2.7 1.python下的复杂网络编程包networkx的使用: http://blog.sina.com.cn/s/blog_720448d30101 ...

  9. Python学习入门基础教程(learning Python)--5.1 Python下文件处理基本过程

    Python下的文件读写操作过程和其他高级语言如C语言的操作过程基本一致,都要经历以下几个基本过程. 1. 打开文件 首先是要打开文件,打开文件的主要目的是为了建立程序和文件之间的联系.按程序访问文件 ...

随机推荐

  1. mysql查询结果写入文件

    注:转自csdn zuyi532 方法1: shell> mysql -uroot -proot -h localhost xxx库 -e " select * from xxx表 l ...

  2. ActiveMQ的入门demo

    步骤: 1 :下载ActiveMQ 官网:http://activemq.apache.org/ 2 :解压AcitveMQ, 根据自己的操作系统选择运行win64或者win32下的activemq. ...

  3. netty中实现客户端首次连接绑定并非每次read检查的方法

    需求场景 客户端第一次连接时,将客户端存起来 重写 ChannelHandlerAdapter 的 handlerAdded 方法

  4. 【LeetCode题意分析&解答】36. Valid Sudoku

    Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could be ...

  5. Noip2013心态调整

    决定成绩的,很多时候可能不是实力,而是心态,一年走来,承受着一次次失败,怀疑,背负着希望与压力,突然发现,只有拥有过,失去过,才可以真正去超越,我希望完成我的梦想,但是唯有放下梦想,才可以走向它. 心 ...

  6. Linux下smi/mdio总线驱动

    Linux下smi/mdio总线驱动 韩大卫@吉林师范大学 MII(媒体独立接口), 是IEEE802.3定义的以太网行业标准接口, smi是mii中的标准管理接口, 有两跟管脚, mdio 和mdc ...

  7. HTML静态网页(css样式表)

    CSS(Cascading Style Sheet,叠层样式表),作用是美化HTML网页. /*注释区域*/    此为注释语法 一.样式表 (一)样式表的分类 1.内联样式表 和HTML联合显示,控 ...

  8. SQL SERVER 2008 R2 自动备份并删除过期备份数据

        我们的系统维护的过程中肯定需要对数据库进行定期的备份,但是如果定时手工备份的话,不但浪费时间,也不能保证每次都可以按时备份,所以自动备份成为了我们的不二选择,但是定时备份需要定期清理备份文件, ...

  9. CTRL+A, CTRL+C, CTRL+V

    (http://leetcode.com/2011/01/ctrla-ctrlc-ctrlv.html) Imagine you have a special keyboard with the fo ...

  10. React使用笔记1-React的JSX和Style

    React使用笔记1-React的JSX和Style Date: 2015-11-27 20:56 Category: Web Tags: JavaScript Author: 刘理想 [toc] 1 ...