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

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

5
Как бросить исключение C ++
У меня очень плохое понимание обработки исключений (например, как настроить операторы throw, try, catch для моих собственных целей). Например, я определил функцию следующим образом: int compare(int a, int b){...} Я бы хотел, чтобы функция генерировала исключение с некоторым сообщением, когда a или b отрицательны. Как я должен подходить к этому …

5
Что на самом деле происходит в try {return x; } наконец {х = ноль; } заявление?
Я видел этот совет в другом вопросе и задавался вопросом, может ли кто-нибудь объяснить мне, как на земле это работает? try { return x; } finally { x = null; } Я имею в виду, делает finallyположение действительно выполнить после того, как в returnзаявлении? Насколько небезопасен этот код? Можете ли …

10
Как использовать ELMAH для регистрации ошибок вручную
Можно ли сделать следующее с помощью ELMAH? logger.Log(" something"); Я делаю что-то вроде этого: try { // Code that might throw an exception } catch(Exception ex) { // I need to log error here... } Это исключение не будет автоматически зарегистрировано ELMAH, потому что оно было обработано.

11
Перехват нескольких типов исключений в одном блоке перехвата
Я хотел бы более чистый способ получить следующую функциональность, чтобы поймать AErrorи BErrorв одном блоке: try { /* something */ } catch( AError, BError $e ) { handler1( $e ) } catch( Exception $e ) { handler2( $e ) } Есть какой-либо способ сделать это? Или я должен ловить их …

6
Глобально ловить исключения в приложении WPF?
У нас есть приложение WPF, где его части могут генерировать исключения во время выполнения. Я хотел бы глобально перехватить любое необработанное исключение и записать их в журнал, но в противном случае продолжить выполнение программы, как будто ничего не произошло (вроде как в VB On Error Resume Next). Возможно ли это …

15
Как проверить, что не исключение не выбрасывается?
Я знаю, что один из способов сделать это будет: @Test public void foo(){ try{ //execute code that you expect not to throw Exceptions. } catch(Exception e){ fail("Should not have thrown any exception"); } } Есть ли более чистый способ сделать это? (Вероятно, используя Junit's @Rule?)

12
Сработает ли код в операторе «Наконец», если я верну значение в блоке «Проба»?
Я рассматриваю некоторый код для друга и говорю, что он использовал оператор return внутри блока try-finally. Код в разделе, наконец, все еще срабатывает, хотя остальная часть блока try не запускается? Пример: public bool someMethod() { try { return true; throw new Exception("test"); // doesn't seem to get executed } finally …


15
Поймать исключение потока в потоке вызывающего в Python
Я очень плохо знаком с Python и многопоточным программированием в целом. По сути, у меня есть скрипт, который будет копировать файлы в другое место. Я хотел бы, чтобы это было помещено в другой поток, чтобы я мог выводить, ....чтобы указать, что скрипт все еще работает. Проблема, с которой я сталкиваюсь, …

7
Exception.Message vs Exception.ToString ()
У меня есть код, который входит в систему Exception.Message. Тем не менее, я прочитал статью, в которой говорится, что лучше использовать Exception.ToString(). С последним вы сохраняете более важную информацию об ошибке. Это правда, и безопасно ли идти вперед и заменить все записи кода Exception.Message? Я также использую макет на основе …

15
Трассировка стека отображения C ++ при исключении
Я хочу иметь способ сообщить трассировку стека пользователю, если выбрасывается исключение. Каков наилучший способ сделать это? Требуется ли огромное количество дополнительного кода? Чтобы ответить на вопросы: Я хотел бы, чтобы это было портативно, если возможно. Я хочу, чтобы информация всплывала, чтобы пользователь мог скопировать трассировку стека и отправить ее мне …

25
Как вы реализуете повторную попытку?
Try-catch призван помочь в обработке исключений. Это как-то означает, что это поможет нашей системе быть более устойчивой: попытаться восстановиться после неожиданного события. Мы подозреваем, что что-то может произойти при выполнении команды и инструкции (отправке сообщения), поэтому оно включается в попытку. Если случается что-то почти неожиданное, мы можем что-то сделать: мы …

15
Как лучше всего использовать try catch для обработки исключений
поддерживая код моего коллеги даже от того, кто утверждает, что он является старшим разработчиком, я часто вижу следующий код: try { //do something } catch { //Do nothing } или иногда они записывают информацию журнала в файлы журнала, например, следующий try catchблок try { //do some work } catch(Exception exception) …

25
Выгодно ли когда-либо использовать «goto» в языке, который поддерживает циклы и функции? Если так, то почему?
У меня давно сложилось впечатление, что gotoникогда нельзя использовать, если это возможно. Просматривая libavcodec (который написан на C) на днях, я заметил многократное его использование. Всегда ли полезно использовать gotoязык, который поддерживает циклы и функции? Если так, то почему?

20
Почему попытка {…} наконец {…} хороша; попробуй {…} поймать {} плохо?
Я видел, как люди говорили, что использовать catch без аргументов - плохая форма, особенно если эта catch ничего не делает: StreamReader reader=new StreamReader("myfile.txt"); try { int i = 5 / 0; } catch // No args, so it will catch any exception {} reader.Close(); Тем не менее, это считается хорошей …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.