在给定的代码中,已创建了自定义异常FooException,它是超类Exception的子类。我们将字符串对象传递给自定义异常,如下所示
#foobar.py class FooException(Exception): def __init__(self, text, *args): super ( FooException, self ).__init__ ( text, *args ) self.text = text try: bar = input("输入一个字符串:") if not isinstance(bar, basestring): raise FooException(bar) except FooException as r: print 'there is an error' else: print type(bar) print bar
如果此脚本按如下方式在终端上运行,我们得到
$ python foobar.py
如果输入字符串,则会得到以下内容
输出结果
"C:/Users/nhooo1/~foobar.py" 输入一个字符串:'voila' <type 'str'> Voila