Python基础学习代码之错误和异常

def func1():
    try:
        return float(‘abc‘)
    except ValueError,e:
        print e
def func2():
    try:
        astr = ‘abc‘
        float(astr)
    except ValueError:
        astr = None
    return astr
def func3():
    try:
        astr = ‘abc‘
        float(astr)
    except ValueError:
        astr = ‘count not convert non-number to float‘
    return astr
def safe_float(argment):
    try:
        retval = float(argment)
    except ValueError:
        retval = ‘count not convert non-number to float‘
    except TypeError:
        retval = ‘object type cannot be convert to float‘
    return  retval
def func4(argment):
    try:
        retval = float(argment)
    except (ValueError,TypeError):
        retval = ‘argment must be a number or numeric string‘
    return  retval
def func5(argment):
    try:
        retval = float(argment)
    except ValueError,e:
        print e
    print type(e)
    print e.__class__
    print e.__class__.__doc__
    print e.__class__.__name__
def func6(argment):
    try:
        retval = float(argment)
    except (ValueError,TypeError),e:
        retval = str(e)
    return  retval
def main():
    ‘handles all the data processing‘
    log = open(‘e:\\cardlog.txt‘,‘w‘)
    try:
        ccfile = open(‘e:\\cardlog.txt‘,‘r‘)
        txns = ccfile.readlines()
    except IOError,e:
        log.write(‘no txns this month\n‘)
        log.close()
        return
    ccfile.close()
    total = 0.00
    log.write(‘account log:\n‘)
    for eachtxn in txns:
        result = func6(eachtxn)
        if isinstance(result,float):
            total += result
            log.write(‘data...processed\n‘)
        else:
            log.write(‘ignored:%s‘%result)
    print ‘$%.2f newbalance‘ % total
    log.close()
#if __name__ == ‘__main__‘:
#    main()
def func7():
    assert 1 == 0
def func8():
    try:
        assert 0 == 1,‘one does not equal zero‘
    except AssertionError,e:
        print ‘%s:%s‘ % (e.__class__.__name__,e)
#assert
def func9(expr,args=None):
    if __debug__ and not expr:
        raise AssertionError,args
def func10():
    try:
        float(‘abc‘)
    except:
        import sys
        exect = sys.exc_info()
        return exect
def func11():
    try:
        f = open(‘test.txt‘)
    except:
        return None
    else:
        return f
def func12():
    try:
        raw_input(‘input data:‘)
    except (EOFError,KeyboardInterrupt):
        return None
import math,cmath
def safe_sqrt(data):
    try:
        ret = math.sqrt(data)
    except ValueError:
        ret = cmath.sqrt(data)
    return ret
import sys
def func13():
    try:
        s = raw_input(‘Enter something-->‘)
    except EOFError:
        print ‘\nWhy did you do an EOF on me?‘
        sys.exit(0)
    except:
        print ‘\nSome error/exception occurred.‘
    print ‘done‘
func13()
时间: 2024-10-11 04:14:33

Python基础学习代码之错误和异常的相关文章

Python基础学习代码之执行环境

class C(object):     def __call__(self, *args, **kwargs):         print "I'm callable! called with args:\n",args c = C() c('a',1) single_code = compile("print 'hello,world!'",'','single') exec(single_code) eval_code = compile('100*3','

Python基础学习代码之变量和类型

foo = 'abc' for i in range(len(foo)):     print "%d , %s" % (i, foo[i]) print [x ** 2 for x in range(5) if not x % 2] try:     f = open('e:\XIN_370_logic.tx', 'r')     for eachline in f:         print eachline     f.close() except IOError, e:   

Python基础学习代码之数字

# import math # print coerce(1L, 134) # """数据类型转换""" # print coerce(0.4, 123) # print coerce(0j, 234) # print divmod(125, 5) # """除法运算""" # print divmod(4, 3) # print pow(2, 4) # ""&quo

Python基础学习代码之序列

str1 = 'abced' for i in range(-1, -len(str1), -1) + [None]:     print str1[:i] s, t = 'abc', 'def' print zip(s, t) for i, t in enumerate(str1):     print i, t print isinstance('foo', str) import string def checkid():     alphas = string.letters + '_'

Python基础学习代码之映像集合

def func1():     dict1 = {}     dict2 = {'name':'earth','port':80}     return dict1,dict2 def func2():     return dict((['x',1],['y',2])) def func3():     adict = {}.fromkeys(['x','y'],23)     return adict def func4():     alist = {'name':'earth','po

Python基础学习代码之条件和循环

def func1():     alist = ['Cathy','Terry','Joe','Health','Lucy']     for i in  range(-1,-len(alist)-1,-1):         print i,alist[i] def func2():     alist = ['Cathy','Terry','Joe','Health','Lucy']     for i,name in enumerate(alist):         print '%d

Python基础学习代码之文件和输入输出

import os ls = os.linesep def func1():     filename = raw_input('enter file name:')     f = open(filename,'w')     while True:         alline = raw_input("enter a line ('.' to quit):")         if alline != '.':             f.write("%s%s&quo

Python基础学习代码之函数和函数式编程

def func1():     print 'hello world' res = func1() print type(res) def func2():     return ['xyz',10000,-98] atuple = func2() x,y,z = func2() print x,y,z def func3():     return 'xyz',1000,-98 x,y,z = func3() print x,y,z def func4():     return ['xyz

Python基础学习代码之面向对象编程

class  AddrBookEntry(object):     'address book entry class'     def __init__(self,nm,ph):         self.name = nm         self.phone = ph         print 'created instance for:',self.name     def updatephone(self,newph):         self.phone = newph