ValueError继承自
Exception。您可以决定仅捕获
ValueError或
Exception,这就是异常继承的目的。
在此示例中:
try: a=12+"xxx"except Exception: # exception is trapped (TypeError)
异常被捕获,所有异常(
baseException异常除外)都被
except语句捕获。
在另一个示例中:
try: a=12+"xxx"except ValueError: # not trapped
在这里,异常不会被捕获(
TypeError不是
ValueError并且不会继承)
通常,您使用特定的异常来仅捕获可能发生的异常(最好的例子是
IOError在处理文件时),而其余的则未被捕获。捕获所有异常的危险是获得一段不会崩溃但什么都不做的代码。
(对答案进行编辑以响应您的编辑:)引发异常时:您正在创建一个实例,
Exception该实例将被将来的
exceptValueError:语句过滤掉。该消息有所不同,因为异常的表示形式(在打印时)包括异常类名称。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)