python下异常处理
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下异常处理的更多相关文章
- Python进阶----异常处理
Python进阶----异常处理 一丶错误和异常 错误: 语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 ...
- python的异常处理机制
异常机制己经成为衡量一门编程语言是否成熟的标准之一,使用异常处理机制的 Python 程序有更好的容错性,更加健壮. 对于计算机程序而言,情况就更复杂了一一没有人能保证自己写的程序永远不会出辛苦!就算 ...
- python下ssh的简单实现
python下的ssh都需要借助第三方模块paramiko来实现,在使用前需要手动安装. 一.python实现ssh (1) linux下的ssh登录 root@ubuntu:~# ssh morra ...
- python下编译py成pyc和pyo
python下编译py成pyc和pyo 其实很简单, 用 python -m py_compile file.py python -m py_compile /root/src/{file1,f ...
- Python下划线与命名规范
Python下划线与命名规范 先看结论,节省只想知道答案你的宝贵时间: _xxx 不能用于from module import * 以单下划线开头的表示的是protected类型的变量.即保护类型只能 ...
- python下的orm基本操作(1)--Mysql下的CRUD简单操作(含源码DEMO)
最近逐渐打算将工作的环境转移到ubuntu下,突然发现对于我来说,这ubuntu对于我这种上上网,收收邮件,写写博客,写写程序的时实在是太合适了,除了刚接触的时候会不怎么完全适应命令行及各种权限管理, ...
- Python下科学计算包numpy和SciPy的安装
转载自:http://blog.sina.com.cn/s/blog_62dfdc740101aoo6.html Python下大多数工具包的安装都很简单,只需要执行 “python setup.py ...
- python下的复杂网络编程包networkx的安装及使用
由于py3.x与工具包的兼容问题,这里采用py2.7 1.python下的复杂网络编程包networkx的使用: http://blog.sina.com.cn/s/blog_720448d30101 ...
- Python学习入门基础教程(learning Python)--5.1 Python下文件处理基本过程
Python下的文件读写操作过程和其他高级语言如C语言的操作过程基本一致,都要经历以下几个基本过程. 1. 打开文件 首先是要打开文件,打开文件的主要目的是为了建立程序和文件之间的联系.按程序访问文件 ...
随机推荐
- codeforces 633C. Spy Syndrome 2 hash
题目链接 C. Spy Syndrome 2 time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- python parse命令行参数
#!/usr/bin/env python import sys def main(argv): for arg in argv: print arg if __name__ == '__main__ ...
- 用while判断输入的数字是否回文数
/* Name:用while判断输入的数字是否回文数 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月18日 04:29:07 Description:用 ...
- 黑马12期day01之html&css
html注释:<!-- --> html中不支持空格.回车.制表符都会被解析成一个空格 <pre></pre>标签内以上三个会被正常解析. <font> ...
- “-Xmx1024m -Xms1024m -Xmn512m -Xss256k”——Java运行参数(转)
JVM的堆的内存, 是通过下面面两个参数控制的 -Xms 最小堆的大小, 也就是当你的虚拟机启动后, 就会分配这么大的堆内存给你 -Xmx 是最大堆的大小 当最小堆占满后,会尝试进行GC,如果GC之后 ...
- tomcat的JK和JK2
如今又開始配置JK2,想将Tomcat和apache,但Tomcat上已经不支持对于JK2的开发了,详情请看: Apache-Tomcat mod_jk2 aka JK2 15 November - ...
- ANDROID对文件的操作介绍
1. Android遵循MVC设计思想: M(业务层):service V:视图(main.xml). C:Activity 2.使用文件如何对数据进行存储 Activity提供了openFileOu ...
- GDB调试之core文件(如何定位到Segment fault)
core dump又叫核心转储,当程序运行过程中发生异常,程序异常退出时,由操作系统把程序当前的内存状况存储在一个core文件中,叫core dump.(内部实现是:linux系统中内存越界会收到SI ...
- BZOJ 3931: [CQOI2015]网络吞吐量( 最短路 + 最大流 )
最短路 + 最大流 , 没什么好说的... 因为long long WA 了两次.... ------------------------------------------------------- ...
- python的map()函数
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于list [1, 2 ...