Вопросы с тегом «exception-handling»

Обработка исключений - это процесс реагирования на возникновение аномальных или исключительных условий, требующих специальной обработки - часто меняющих нормальный ход выполнения программы.

156
Исключения: зачем бросать рано? Зачем ловить поздно?

Существует много известных лучших практик по обработке исключений в изоляции. Я достаточно хорошо знаю, что нужно делать, а что нет, но все становится сложнее, когда дело доходит до лучших практик или шаблонов в больших средах. «Бросай рано, лови поздно», - слышал я много раз, и это все еще смущает...

79
Зачем использовать try… наконец без предложения catch?

Классический способ программирования с try ... catch. Когда уместно использовать tryбез catch? В Python следующее кажется законным и может иметь смысл: try: #do work finally: #do something unconditional Тем не менее, код ничего не сделал catch. Точно так же можно подумать, что в Java это будет...

70
Это хорошая практика, чтобы поймать проверенное исключение и выдать RuntimeException?

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

50
Почему спецификации исключений плохие?

В школе более 10 лет назад они учили вас использовать спецификаторы исключений. Так как мой фон, как один из них Torvaldish Программисты, которые упорно избегает C ++, если не принуждал, я только в конечном итоге в C ++ спорадически, и когда я делаю, я до сих пор используют исключения...

49
Обходной путь для проверенных исключений Java

Я высоко ценю новые функции Java 8, касающиеся лямбд и интерфейсов методов по умолчанию. Тем не менее, я все еще скучаю с проверенными исключениями. Например, если я просто хочу перечислить все видимые поля объекта, я хотел бы просто написать это: Arrays.asList(p.getClass().getFields()).forEach( f...

47
Зачем разрабатывать современный язык без механизма обработки исключений?

Многие современные языки предоставляют богатые функции обработки исключений , но язык программирования Apple Swift не предоставляет механизм обработки исключений . Несмотря на то, что я погружен в исключения, мне трудно понять, что это значит. Swift имеет утверждения и, конечно, возвращает...

46
я должен бросить исключение из конструктора?

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

45
Существуют ли законные причины для возврата объектов-исключений вместо их выброса?

Этот вопрос предназначен для применения к любому языку программирования ОО, который поддерживает обработку исключений; Я использую C # только в иллюстративных целях. Исключения обычно предназначены для возникновения, когда возникает проблема, что код не может быть обработан немедленно, а затем для...

38
Почему скобки требуются для try-catch?

На разных языках (по крайней мере, на Java, подумайте также C #?) Вы можете делать такие вещи, как if( condition ) singleStatement; while( condition ) singleStatement; for( var; condition; increment ) singleStatement; Поэтому, когда у меня есть только одно утверждение, мне не нужно добавлять новую...

35
Как бороться с проверенными исключениями, которые никогда не могут быть выброшены

Пример: foobar = new InputStreamReader(p.getInputStream(), "ISO-8859-1"); Поскольку кодировка жестко запрограммирована и корректна, конструктор никогда не сгенерирует исключение UnsupportedEncodingException, объявленное в спецификации (если только реализация java не нарушена, в этом случае я все...

34
Может быть, монада против исключений

Интересно, в чем преимущества Maybe монады перед исключениями? Похоже, Maybeэто просто явный (и довольно трудоемкий) способ try..catchсинтаксиса. обновление Пожалуйста, обратите внимание, что я намеренно не упоминаю...

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

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

25
Является ли «наконец» часть конструкции «попробуй ... поймай ... наконец» даже необходимой?

Некоторые языки (такие как C ++ и ранние версии PHP) не поддерживают finallyчасть try ... catch ... finallyконструкции. Когда- finallyлибо необходимо? Поскольку код в нем всегда выполняется, почему бы не разместить этот код после try ... catchблока без finallyпредложения? Зачем использовать один?...

23
Должен ли сервисный уровень перехватывать все исключения dao и переносить их в исключения сервиса?

У меня есть три слоя Spring веб-приложение: дао, сервис и контроллеры. Контроллер никогда не вызывает напрямую dao, он делает это через уровень сервиса. Прямо сейчас, в большинстве случаев, если есть исключение dao (время выполнения), которое не обрабатывается, оно будет перехвачено JSP,...

20
Обработка ошибок - в случае сбоя программы при ошибках или игнорирования их

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

18
Почему бы не использовать слово ошибка вместо исключения? [закрыто]

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

17
Абстрактное исключение супертипа

Если бросание System.Exceptionсчитается таким плохим, то почему не было Exceptionсделано abstractв первую очередь? Таким образом, было бы невозможно позвонить: throw new Exception("Error occurred."); Это привело бы к использованию производных исключений для предоставления более подробной информации...

17
Решение для непроверенных исключений в Scala

Как программист Java, я всегда критиковал Unchecked Exceptions. В основном программисты используют его как средство для легкого кодирования, чтобы потом создавать проблемы. Кроме того, программы (хотя и неопрятные) с проверенными исключениями намного надежнее по сравнению с непроверенными...

16
Существуют ли исключения для предотвращения сбоя системы?

Во-вторых, мне было интересно, знает ли кто-нибудь разницу между исключениями (в сфере потока управления исключениями) и исключениями (например, используемыми в Java). Но они там, чтобы в основном защитить систему от сбоев, завершив пользовательскую...