MyEyes

Logging my life

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1. 处理异常

#! /apps/android/python2.6/bin/python

import os            //导包
try:
        s = raw_input('Please input an number: ')   //获得用户的一个输入,如果用户输入时,按的是ctrl+d(结束符)就会发生异常
except EOFError:                                    //捕获异常,和java一样
        print 'An EOFError occure'
except:
        print 'An error or exception occure'
else:                                        //当没有异常发生的时候,else从句将被执行。即,如果try块运行正常,则会执行else的语句块
        print '1+1=2'
print 'DONE'

2. 自己定义异常,自己抛出异常

#! /apps/android/python2.6/bin/python

class ShortInputException(Exception): //自定义异常,继承Exception类
def __init__(self, _length, _stdlen): //构造器
Exception.__init__(self) //调用父类构造器
self.length = _length
self.stdlen = _stdlen

try:
s = raw_input('Please input an string: ')
if len(s) < 3:
raise ShortInputException(len(s), 3) //手动抛出异常
except EOFError:
print 'Ocuured EOFError'
except ShortInputException, e: //异常类和用来表示异常对象的变量
print 'your input string length is %d, it should be bigger than %d' % (e.length, e.stdlen)
finally: //无论是否发生异常,finally语句块始终会执行,一般用来关闭文件IO流之类的操作
print 'No exception occured'



posted on 2011-10-25 15:27  MyEyes  阅读(391)  评论(0编辑  收藏  举报