Вопросы с тегом «exceptions»

30
Использование условия finally для выполнения работы после возврата плохой стиль / опасно?

Как часть написания Iterator, я обнаружил, что пишу следующий фрагмент кода (обработка ошибок) public T next() { try { return next; } finally { next = fetcher.fetchNext(next); } } немного легче читать, чем public T next() { T tmp = next; next = fetcher.fetchNext(next); return tmp; } Я знаю, что это...

30
Как лечить необработанные исключения? (Завершить приложение против сохранить его в живых)

Что лучше всего делать, когда в настольном приложении возникают необработанные исключения? Я думал о том, чтобы показать сообщение пользователю, чтобы он мог связаться со службой поддержки. Я бы порекомендовал пользователю перезапустить приложение, но не заставлять его. Подобно тому, что...

29
Должна ли программа на C ++ перехватывать все исключения и предотвращать всплытие исключений после main ()?

Однажды мне посоветовали, что программа на C ++ должна в конечном итоге перехватывать все исключения. В то время аргументация сводилась к тому, что программы, допускающие появление исключений за пределами, main()переходят в странное состояние зомби. Мне сказали об этом несколько лет назад, и в...

29
В чем проблемы разработчика с полезными сообщениями об ошибках? [закрыто]

Закрыто . Этот вопрос нуждается в деталях или ясности . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Добавьте детали и проясните проблему, отредактировав этот пост . Закрыто 5 лет назад . Меня по-прежнему поражает, что в наши дни продукты, которые годами используются под...

29
Можно ли использовать исключения в качестве инструментов для раннего выявления ошибок?

Я использую исключения, чтобы поймать проблемы рано. Например: public int getAverageAge(Person p1, Person p2){ if(p1 == null || p2 == null) throw new IllegalArgumentException("One or more of input persons is null"). return (p1.getAge() + p2.getAge()) / 2; } Моя программа никогда не должна...

27
Бросить исключение внутри наконец

Статические анализаторы кода, такие как Fortify, «жалуются», когда в finallyблоке может возникнуть исключение , говоря это Using a throw statement inside a finally block breaks the logical progression through the try-catch-finally. Обычно я согласен с этим. Но недавно я наткнулся на этот код:...

27
Кто должен читать Exception.Message, если вообще?

При разработке исключений я должен писать сообщения, которые должен понимать пользователь или разработчик? Кто на самом деле должен быть читателем сообщений об исключениях? Я считаю, что сообщения об исключениях вообще бесполезны, и мне всегда трудно их писать. По соглашению, тип исключения должен...

24
Параметр для контроля, выдавать ли исключение или возвращать ноль - хорошая практика?

Я часто сталкиваюсь с методами / функциями, которые имеют дополнительный логический параметр, который управляет тем, будет ли выброшено исключение в случае сбоя или будет возвращено значение null. Уже ведутся дискуссии о том, какой из них является лучшим выбором в этом случае, поэтому давайте не...

24
Почему Java завершается успешно после неперехваченного исключения?

Каждый раз, когда программа на Perl, Python, C ++ или Tcl останавливается с необработанным исключением, эти языковые среды выполнения заботятся о регистрации ненулевого кода завершения процесса. Даже программы на основе Eclipse возвращают 1, если они терпят неудачу во время запуска. Программы,...

23
Почему Option / Может считаться хорошей идеей, а проверенные исключения - нет?

Некоторые языки программирования, такие как, например, Scala, имеют концепцию Optionтипов (также называемых Maybe), которые могут либо содержать значение, либо нет. Из того, что я читал о них, они считаются широко лучшим способом решения этой проблемы null, потому что они явно вынуждают...

22
Функция возвращает true / false против void при успешном завершении и выдает исключение при сбое

Я строю API, функцию, которая загружает файл. Эта функция не будет возвращать ничего / пусто, если файл был загружен правильно, и выдает исключение при возникновении проблемы. Почему исключение, а не просто ложь? Потому что внутри исключения я могу указать причину сбоя (нет соединения, отсутствует...

22
Кто разработал исключения?

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

21
Эффективное использование блока try / catch?

Должны ли блоки catch использоваться для написания логики, например, для управления потоком и т. Д.? Или просто для того, чтобы бросать исключения? Влияет ли это на эффективность или удобство сопровождения кода? Каковы побочные эффекты (если они есть) написания логики в блоке catch? РЕДАКТИРОВАТЬ:...

21
Как избежать неприятных исключений?

Чтение статьи об исключениях Эрика Липперта определенно открыло мне глаза на то, как мне следует подходить к исключениям как в качестве производителя, так и потребителя. Тем не менее, я все еще изо всех сил пытаюсь определить руководство относительно того, как избежать создания неприятных...

21
Почему нулевые ссылки избегаются, а выбрасывание исключений считается нормальным?

Я не совсем понимаю последовательное избиение нулевых ссылок некоторыми людьми из языков программирования. Что в них плохого? Если я запрашиваю доступ для чтения к файлу, который не существует, тогда я совершенно счастлив получить исключение или нулевую ссылку, и все же исключения считаются...

21
Как научить обработку исключений для новых программистов? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 4 года назад . Как вы относитесь к обучению обработки исключений для...

20
Что такое «хорошее количество» исключений для моей библиотеки?

Мне всегда было интересно, сколько разных классов исключений я должен реализовать и выбросить для разных частей моего программного обеспечения. Моя конкретная разработка обычно связана с C ++ / C # / Java, но я считаю, что это вопрос для всех языков. Я хочу понять, что такое большое количество...

20
Вы бросаете исключение аргумента или исключение аргумента из частных методов?

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

20
Когда и как я должен использовать исключения?

Настройка Мне часто бывает трудно определить, когда и как использовать исключения. Давайте рассмотрим простой пример: предположим, я зачищаю веб-страницу, скажем « http://www.abevigoda.com/ », чтобы определить, жива ли еще Абе Вигода. Для этого все, что нам нужно сделать, это загрузить страницу и...

20
Как мне предоставить дополнительную информацию об исключении?

Каждый раз, когда мне нужно предоставить дополнительную информацию об исключении, я задаюсь вопросом, какой способ действительно является правильным . Ради этого вопроса я написал пример. Давайте предположим, что есть класс, где мы хотим обновить Abbreviationсвойство. С точки зрения SOLID это может...