try:
result = a / b
except TypeError as e:
print "Woops! a and b must be numbers!"
result = int(a) / int(b)
print e
except NameError as e:
print "A variable used doesn't exist!"
print e
except ArithmeticError as e:
print "It seems you've gone past infinity, under atomicity or divided by zero!"
print e
except Exception as e:
print "Something REALLY unexpected happened!"
print e
except
块可以接收如下所示的附加部分:一些库(包括内置库)提供了特定的
Exception
类型,根据所发现的错误类型,可以使用这些类型做出更好的反应。再加上一个try
块可以有尽可能多的except
块,您就可以制作一个非常安全的应用程序。复合try-except
块示例:示例中使用的内置异常:
except
或仅用于“其他所有错误”python2.x的内置异常列表及其描述可以在http://docs.python.org/2/library/exceptions.html中找到。 注意:通常自定义库会有注释来描述它们引发的自定义异常。你知道吗
except BaseException as e
也适用于python2。sys.exc_info()
可以提供有关异常的一些信息(类型、关联值和回溯),但不能提供实际的异常对象。Guido不会放入函数来执行此操作,因为except BaseException as e
已经存在。你知道吗相关问题 更多 >
编程相关推荐