python的try...except

来源:互联网 发布:sql declare怎么运行 编辑:程序博客网 时间:2024/05/17 23:35

java代码中捕获异常可以使用 try{} catch(){} finally{}

相应的,python中也有类似用法,格式为

try:    可能会出问题的代码except Exception as err:    捕捉到异常之后的处理finally:    不管有没有异常最后都会执行的代码


举个例子,一个解一元二次方程的算法:

import mathprint("solving ax^2 + bx + c = 0")a = int(input("Enter a:"))b = int(input("Enter b:"))c = int(input("Enter c:"))try:    d = math.sqrt(b * b - 4 * a * c)    fenmu = 2 * a    answer1 = (-b + d) / fenmu    answer2 = (-b - d) / fenmu    print("Two answers:{} {}".format(answer1, answer2))except ZeroDivisionError:    print("a should not be 0")except:    print("Answers are imaginary")finally:    print("Over")

其中在try中的只有可能出现两种异常,一种是a=0,另一种是根号内的为负数。