Python学习总结:python中的异常,try/except

       Python用异常对象(exception object)来表示异常情况。遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(traceback,一种错误信息)终止执行。

       事实上,每个异常都是一些类的实例,这些实例可以被引发,并且可以用很多种方法进行捕捉,使得程序可以捉住错误并且对其进行处理,而不是让整个程序失效。

捕捉异常

关于异常可以处理它们(诱捕或者捕捉异常)。用try/except语句实现。下来我们来看一个例子:

while True:
    try:
        x = input('Enter the first number:')
        y = input('Enter the second number:')
        value = x/y
        print 'x/y is:',value
    except:
        print 'Invalid input. Please try again.'
    else:
        break

       程序结果表明,这里的whilt True:循环只在没有异常引发的情况下才会退出,只要有错误发生,程序会不断要求重新输入。

       其实,我们可以将except 中的代码改为更有效的异常输出信息

#python 2中
while True:
    try:
        x = input('Enter the first number:')
        y = input('Enter the second number:')
        value = x/y
        print 'x/y is:',value
    except Exception,e:
        print 'Invalid input: ',e        #
        print 'Please try again.'
    else:
        break

小结

(1)异常对象。异常情况(比如错误)可以用异常对象表示。它们可以用几种方法处理,但是如果忽略的话,程序就会终止。

(2)警告。类似于异常,但是一般来说仅仅打印错误信息。

(3)捕捉异常。使用try/except子句。

(4)else子句。除了except子句,可以使用else子句。如果主try块没有引发异常,else子句就会被执行。

(5)finally。如果需要确保某些代码不管是否有异常引发都要执行(例如清理代码del),那么这些代码可以放置在finally子句中。

猜你喜欢

转载自blog.csdn.net/wang903039690/article/details/79714231