if not(my_value < max_limit):
print "value of is %g and hence invalid. It can be upto $g" % (my_value, max_limit)
raise LimitFailureCheck("Failed due to Incorrect value")
我在其他模块中将自定义异常定义为LimitFailureCheck
。当my_value&gt;我想提高它max_limt。因此我编码像上面的方法。它工作正常。我想问的是给用户更多信息我写的print语句也说明问题到底是什么。我可以在提升自定义异常时做同样的事情吗?我试过了
raise LimitFailureCheck("Failed due to Incorrect %g value" % my_value)
但是在打印输出时它引发了相同的声明。
提高LimitFailureCheck(“由于%g值”%my_value不正确而失败)
我希望得到
raise LimitFailureCheck("Failed due to Incorrect 99 value")
我收到的输出:
Traceback (most recent call last):
File "runtest.py", line 69, in attempt
func()
File "c:\Users\pran\projects\check.py", line 66, in runmytest
raise LimitFailureCheck('"Failed due to Incorrect %g value" % my_value
)
LimitFailureCheck
答案 0 :(得分:0)
当你在命令行上运行python并且由于未处理的异常而退出python时,python将显示一个回溯和异常字符串。
当我运行此测试程序时
class LimitFailureCheck(Exception):
pass
raise LimitFailureCheck('i am %s' % 'sad')
Python说
Traceback (most recent call last):
File "sad.py", line 4, in <module>
raise LimitFailureCheck('i am %s' % 'sad')
__main__.LimitFailureCheck: i am sad
请注意,python显示失败的行和失败消息。如果您不想要这种行为,您可以捕获异常并打印自己的消息。这是另一个脚本
class LimitFailureCheck(Exception):
pass
try:
raise LimitFailureCheck('i am %s' % 'sad')
except LimitFailureCheck, e:
print 'raise LimitFailureCheck("%s")' % e
显示
raise LimitFailureCheck("i am sad")
答案 1 :(得分:-1)
您可能想尝试格式化。
raise LimitFailureCheck('Failed due to Incorrect {0} value'.format(my_value)