返回顶部

收藏

Python初学教程:Python的异常处理机制

更多

Python的异常机制

Python和其他高级语言一样也有异常的try..catch机制,在python中用的是try..except..finally

#!/usr/bin/python

# python异常处理示例

# 生成两个随机数
import random
i = random.randrange(0, 8)
j = random.randrange(-1, 6)
print i, j

# 声明list
some = [3, 10, 0, 8, 18];
try:
    # 做除法操作
    den = some[j] / i
    print "A:", den
    frac = (i + j) / den
    print "B:", frac
    if frac < 2:
        k = 3
    else:
        k = 'mike'
    print "C:", k
    print "D:", some[k]
# except 捕获异常
except ZeroDivisionError:
    print "\nDivision by zero."
except TypeError, detail:
    # except后面可以跟两个参数,第一个是异常的类型,第二个是异常的实例
    print "\nSome type mismatch:", detail
except IndexError, detail:
    print "\nSome value is out of range:", detail
except:
    # 如果except后直接跟:则表示捕获一切异常
    print "\nSomething else went wrong."

# python的异常处理也可以有else表示如果不发生异常则要执行的语句块
else:
    print "\nThat's odd, nothing went wrong."

python的异常处理机制和java和c#的很相似。python中catch变成了except,另外python中有else语句表示不发生异常时要执行的语句块,这是python 特有的。

标签:Python,Python初学教程,异常处理

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. kun 发表 2011-09-22 18:13:10 异常处理?
  2. kongxx 发表 2016-05-10 01:09:07 CentOS5.5上安装psycopg2
  3. Yushneng 发表 2016-05-14 08:19:55 JSON 的正确用法:Python、MongoDB、JavaScript与Ajax
  4. 博主 发表 2015-11-30 15:55:45 使用etree.HTML的编码问题
  5. kongxx 发表 2016-05-24 11:48:00 Python异步通信模块asyncore
  6. Yushneng 发表 2016-05-29 18:56:06 给 Python 开发者的 Go 语言入门指南
  7. wkii 发表 2013-09-30 02:28:07 python学习笔记之字典
  8. Chairo 发表 2013-01-07 06:41:11 Python+Requests抓取中文乱码改进方案
  9. wolftankk 发表 2014-04-01 10:20:11 Spyder介绍
  10. bear 发表 2013-03-11 09:40:21 python调用shell脚本
  11. 博主 发表 2016-06-18 08:36:35 The pain of Jinja2
  12. gnawux 发表 2013-03-07 01:09:07 再次改动了 tornado-memcache

发表评论