def
exception():
# 异常文件以及try exception的用法
# 控制值输入类型的方法
while True:
try :
value = int(raw_input( " please input a int type's vlaue: " )
# 如果你输入的是其它类型的变量,系统会让你重新输入
print value
except ValueError: # 指定错误类型,也可以except一个正常的运算进行调试
print " Oops! That was no valid number. Try again... "
# 如果try中子句在运行中发生异常,则该句后所有的语句都不被执行,转入执行exception中的内容
# 一个try可以包含多个Exception的内容,来定义不同类型的错误,以此建立公用的错误类
except IOError, (errno, strerror):
print " I/O error(%s): %s " % (errno, strerror)
except ValueError:
print " Could not convert data to an integer. "
except :
print " Unexpected error: " , 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 ’cannot open’, 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(第一个参数指定了所抛出异常的名称,第二个指定了异常的参数)
# 异常文件以及try exception的用法
# 控制值输入类型的方法
while True:
try :
value = int(raw_input( " please input a int type's vlaue: " )
# 如果你输入的是其它类型的变量,系统会让你重新输入
print value
except ValueError: # 指定错误类型,也可以except一个正常的运算进行调试
print " Oops! That was no valid number. Try again... "
# 如果try中子句在运行中发生异常,则该句后所有的语句都不被执行,转入执行exception中的内容
# 一个try可以包含多个Exception的内容,来定义不同类型的错误,以此建立公用的错误类
except IOError, (errno, strerror):
print " I/O error(%s): %s " % (errno, strerror)
except ValueError:
print " Could not convert data to an integer. "
except :
print " Unexpected error: " , 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 ’cannot open’, 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(第一个参数指定了所抛出异常的名称,第二个指定了异常的参数)