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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

本文出自 “xwb” 博客,请务必保留此出处http://xiewb.blog.51cto.com/11091636/1792273

以上是关于Python基础学习代码之错误和异常的主要内容,如果未能解决你的问题,请参考以下文章

Python基础学习错误与异常

python学习24之异常

python基础之异常处理

Python学习第15篇:面向对象之异常处理

python基础之异常处理

Python 3 基础之异常及其捕获