or a number
我们首先在一个try语句块中引发一个异常,随后简单的忽略了这个异常,但保留了错误的信息,调用内置type()函数,我们可以确认我们的异常的确是TypeError异常类的实例,最后我们队异常诊断参数调用...print以显示错误
为了获取更多关于异常的信息,我们可以调用该实例的__class__属性,它标示了实例是从什么类实例化而来,类对象也有属性
>>> diag
TypeError('float() argument...__name__
'TypeError'
我们用字符串化(string representation)的异常参数来替换单一的错误信息
>>> def safe_float(object):
... ...)
raise exclass()同上,除了现在不是类;通过函数调用操作符作用于类名生成一个新的exclass实例,同样也没有异常参数
raise exclass,args同上,但同时提供的异常参数args...tb供使用
raise重新触发前一个异常,如果之前没有异常,触发TypeError
10.7 断言
断言是一句必须等价于布尔真的判定,此外,发生异常也意味着表达式为假
可以理解为是raise-if-not