我不是理论派,那就从实践中成长吧 微博:http://www.weibo.com/willsfanw

python实例练手004

上一篇 / 下一篇  2010-05-18 00:03:59

公司出去旅游了一趟,荒废了几天,继续更新blog
出去之前,把这个简单的抓取网页的脚本挂上,回来的时候发现前一天由于网站异常导致脚本异常退出,呃也改加入一些异常捕获处理的方法了
python提供了类似于c#中的try catch的捕获方法 try:...except...else...finally
try和except是捕获的主力,而else和finally则属于可选
先上加入了异常处理的例子先:
01 def AnalyseHtml(url):
02     try:
03         sockUrl = urllib.urlopen(url)
04         htmlSoucrc = sockUrl.read()
05     except IOError,e:
06         print e
07     else:
08         f.file('test.html','w')
09         f.write(htmlSource)
10         f.close()
11     finally:
12         sockUrl.close()

02和05首先加入了捕获异常的主体try:...except...:
由于通过帮助文档查找到urllib.urlopen会触发IOError,则在except加入当出现IOError时,则捕获;若想捕获全异常,则可以修改为Exception
07行加入else子句,当try不会获取异常时,则执行else子句下的任务
11行加入finally,这个代表无论异常还是正常都必须执行的语句,由于担心可能出现其他异常的情况,故把openURL的句柄放到最后无论任务情况都要关闭之

TAG:

引用 删除 远和近   /   2012-07-02 13:20:23
-1
 

评分:0

我来说两句

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 18162
  • 日志数: 22
  • 建立时间: 2009-12-07
  • 更新时间: 2011-09-26

RSS订阅

Open Toolbar