python(异常处理机制,学习笔记摘要)

def exception():
# 异常文件以及tryexception的用法
# 控制值输入类型的方法
while True:
try :
value
= int(raw_input( " pleaseinputainttype'svlaue: " )
# 如果你输入的是其它类型的变量,系统会让你重新输入
print value
except ValueError: # 指定错误类型,也可以except一个正常的运算进行调试
print " Oops!Thatwasnovalidnumber.Tryagain... "
# 如果try中子句在运行中发生异常,则该句后所有的语句都不被执行,转入执行exception中的内容
# 一个try可以包含多个Exception的内容,来定义不同类型的错误,以此建立公用的错误类
except IOError,(errno,strerror):
print " I/Oerror(%s):%s " % (errno,strerror)
except ValueError:
print " Couldnotconvertdatatoaninteger. "
except :
print " Unexpectederror: " ,sys.exc_info()[0]
raise
# 一个exception可以包含多个错误类型
except (RuntimeError,TypeError,NameError):
pass
# 一个文件操作类型异常错误机制
for arg in sys.argv[ 1 :]:
try :
f
= open(arg,’r’)
except IOError:
print ’cannotopen’,arg
else :
print arg,’has’,len(f.readlines()),’lines’
f.close()
# 使用else语句要比在try中增加附加代码要好,意外的截取那些不需要保护的代码,来进行调试
# 通过try返回异常程序的类型,再通过else方法输出发生异常时的状态类型,来确定发生异常的可能原因
# 这样既能保证程序的稳态,也对程序版本的信息安全进行了控制
# 不指定抛出类型,返回异常状态信息
except inst:
print type(inst).args
else :
file
= f.readlines()
print file
# 使用raise强制抛出异常信息,raise(第一个参数指定了所抛出异常的名称,第二个指定了异常的参数)

你可能感兴趣的:(python,F#)