>백엔드 개발 >파이썬 튜토리얼 >Python 기본 학습 코드 오류 및 예외

Python 기본 학습 코드 오류 및 예외

黄舟
黄舟원래의
2016-12-29 17:23:321544검색

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()

 以上就是Python基础学习代码之错误和异常的内容,更多相关内容请关注PHP中文网(www.php.cn)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.