Слишком много исключений для автоматического выключателя?

Я как раз читал ответы на этот вопрос о медленных исключениях. Я полностью согласен с идеей, что исключения могут и должны использоваться вместо кодов возврата, несмотря на то, что каждый из них значительно медленнее (хотя и не обязательно заметен).

Я реализовал автоматический выключатель в службе, которая подключается к третьей стороне, которая вызывается несколько раз при каждом запросе страницы. В случае сбоя это означает, что будет выброшено много исключений (и журналы также будут заполнены).

Будет ли это когда-нибудь проблемой?


person Fabio Milheiro    schedule 23.10.2014    source источник
comment
Теперь сравните, сколько времени занимает выполнение запроса к сторонней службе с отпечатком, который вызывает возникшее исключение.   -  person zerkms    schedule 23.10.2014
comment
И подумайте, насколько вы заботитесь о небольшой потере производительности, если все уже сломано ...   -  person Jon Skeet    schedule 23.10.2014
comment
@zerkms, именно в этом и была проблема. Время от времени мы получали ограниченные запросы, что сильно замедляло работу сайта! То, что у нас есть сейчас, намного лучше.   -  person Fabio Milheiro    schedule 23.10.2014
comment
@JonSkeet (для меня большая честь), да, хороший момент. Вывод, который я сделал из вашего мысленного предложения, заключается в том, что мы заботимся о том, чтобы выбросить слишком много исключений, но здесь это приемлемая проблема, учитывая альтернативу.   -  person Fabio Milheiro    schedule 23.10.2014
comment
Спасибо за мысли, ребята. Я бы сказал, что эти комментарии были ответами (хотя и короткими). Я не могу принимать комментарии.   -  person Fabio Milheiro    schedule 23.10.2014
comment
Я не думаю, что какие-либо комментарии действительно являются ответами, но на самом деле потому, что вопрос недостаточно конкретный для ответа.   -  person Jon Skeet    schedule 23.10.2014
comment
@JonSkeet, я думаю, это вопрос моих конкретных сомнений. Не уверен, что многие будут сомневаться в этом и искать его здесь. Если люди проголосуют за удаление, я удалю его. Спасибо!   -  person Fabio Milheiro    schedule 23.10.2014
comment
Мы все разделим ваши сомнения, как только представим, что наша жизнь находится под угрозой с автоматическим выключателем, который откладывает создание длительных исключений .. ;-)   -  person TaW    schedule 23.10.2014


Ответы (1)


На мой взгляд, автоматический выключатель в порядке. Кто-то другой (не здесь) предложил реализовать автоматический выключатель без создания исключений, чтобы не регистрировать много вещей. Мне это кажется неправильным, и я не мог придумать хороший способ сделать это в целом, поскольку мне нужно, чтобы автоматический выключатель использовался более чем в одной службе (в настоящее время 2 - методы, перехватываемые Unity) .

Единственное изменение, которое я решил внести в свое приложение, - это кэшировать результат метода, вызывающего третьи стороны. Насколько я могу судить, недостатков здесь нет, потому что данные не меняются часто, и мы можем позволить, чтобы они были устаревшими.

person Fabio Milheiro    schedule 23.10.2014