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> max_limt. Следовательно, я закодирован, как вышеупомянутый метод. Он работает правильно. Я хочу спросить, чтобы дать пользователю больше информации. Я также написал инструкцию печати, в которой указывается, что именно проблема. Могу ли я сделать то же самое, поднимая мое обычное исключение? Я попробовалВставка при поднятии пользовательских исключений
raise LimitFailureCheck("Failed due to Incorrect %g value" % my_value)
Но он поднял ту же инструкцию при печати вывода.
поднять LimitFailureCheck ("Не удалось из-за неправильного% значения г" % 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
Вы уверены, что не печатать сообщения с подменой? Он отобразит 'raise' как последнюю строку трассировки, но затем он также должен распечатать сообщение об исключении. – BrenBarn
Это не имеет никакого смысла. Стандартные операторы форматирования строк (либо '%', либо '.format') должны работать в любом контексте, включая создание исключения. Я подозреваю, что вы смотрите на неправильную часть вывода, как предлагает @BrenBarn. –
Этот вопрос кажется не по теме, потому что проблема не настоящая. – Veedrac