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

来源:互联网 发布:未知数据库连接器错误 编辑:程序博客网 时间:2024/05/22 12:49
 
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(第一个参数指定了所抛出异常的名称,第二个指定了异常的参数)
原创粉丝点击