Python for Data Analysis (5)

来源:互联网 发布:php 商城怎么删除订单 编辑:程序博客网 时间:2024/06/05 03:27

异常处理

  1. try/except
  2. try/except someerror
  3. try/finally
  4. try/except/else/fianlly
#1.try/except,想编写一个出错时能返回输入参数的一个float函数def attempt_float(x):    try:        return float(x)    except:  #except后不加任何指定错误,则如果出现任何错误后,都会执行except后的语句        return x
attempt_float('some')
'some'
#2.try/except +someerror,后面指定的可以是一个错误,也可以是多个错误def attempt_float(x):    try:        return float(x)    except ValueError:        return x
attempt_float((1,2))
---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last)<ipython-input-11-a1f7e5239136> in <module>()----> 1 attempt_float((1,2))<ipython-input-8-392841f26717> in attempt_float(x)      2 def attempt_float(x):      3     try:----> 4         return float(x)      5     except ValueError:      6         return xTypeError: float() argument must be a string or a number
#于是出现了ValueError之外的错误则添加一个:def attempt_float(x):    try:        return float(x)    except (ValueError,TypeError):        return x
attempt_float((1,2))
(1, 2)
#3. try/except finally#有时你可能不想处理任何异常,而只是希望有一段代码不管try块代码成功于否都能被执行。
f =open(path,'w')try:    write_to_file(f)finally:    f.close()
#4. try/except/else/fianlly#想让代码只在try块成功时执行,使用else即可:f=open(path,'w')try:    write_to_file(f)except:    print 'FAILED'else:    print 'Succeeded'finally:    f.close()
0 0
原创粉丝点击