在Python 2.7.x中,我创建了一个Exception类:
class myException(RuntimeError):
def __init__(self,arg):
self.args = arg
Run Code Online (Sandbox Code Playgroud)
当我使用它时:
try:
raise myException("This is a test")
except myException as e:
print e
Run Code Online (Sandbox Code Playgroud)
它打印出来像这样:
('这是'...)
我没有打印整个东西,但为什么不打印出一个字符串?我该如何转换它?
另外,为什么e.message是空白的?
args一个例外是特殊的; 它希望是一个序列.指定一个字符串来self.args是合法的,它是一个序列,但是当你将它转换成一个元组.
分配包含您的参数的元组:
class myException(RuntimeError):
def __init__(self, arg):
self.args = (arg,)
Run Code Online (Sandbox Code Playgroud)
args
给出异常构造函数的参数元组.一些内置异常(例如IOError)期望一定数量的参数并为该元组的元素赋予特殊含义,而其他异常通常仅使用单个字符串来调用,从而产生错误消息.
| 归档时间: |
|
| 查看次数: |
35 次 |
| 最近记录: |