Я хотел бы использовать raise
без печати трассировки на экране. Я знаю, как это сделать, используя try ..catch
, но не нашел способ с raise
.Получение ошибок без следа
Вот пример:
def my_function(self):
resp = self.resp
if resp.status_code == 404:
raise NoSuchElementError('GET'+self.url+'{}'.format(resp.status_code))
elif resp.status_code == 500:
raise ServerErrorError('GET'+self.url+'{}'.format(resp.status_code))
При выполнении этого, если у меня есть 404, то отслеживающий будет печатать на экране.
Traceback (most recent call last):
File "test.py", line 32, in <module>
print ins.my_function()
File "api.py", line 820, in my_function
raise NoSuchElementError('GET ' + self.url + ' {} '.format(resp.status_code))
Это API обертка, и я не хочу видеть отслеживающие пользователей, но чтобы увидеть коды ответов API и сообщения об ошибках вместо этого.
Есть ли способ сделать это?
Форматирование отображения не является задачей 'raise'. Если вы хотите контролировать, как программа реагирует на эти исключения, поймайте их на каком-то более высоком уровне в структуре вашей программы и сделайте то, что будете с ними. – user2357112