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中文网(m.sbmmt.com)!
已抢66680个
抢已抢38211个
抢已抢21109个
抢已抢2660个
抢已抢959个
抢已抢19180个
抢