Запитання з тегом «exception-handling»

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

5
Що насправді відбувається при спробі {return x; } нарешті {x = null; } заява?
Я бачив цю пораду в іншому запитанні і цікавився, чи хтось може мені пояснити, як це працює? 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 цей виняток не буде автоматично реєструватися, оскільки ним було оброблено.

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

11
Ловля кількох типів винятків в одному блоці вилову
Я хотів би більш чіткий спосіб отримати наступну функціональність, щоб зловити AErrorі BErrorв одному блоці: try { /* something */ } catch( AError, BError $e ) { handler1( $e ) } catch( Exception $e ) { handler2( $e ) } Чи можна це зробити? Або я повинен їх ловити окремо? …

6
Глобально ловити винятки у програмі WPF?
У нас є додаток WPF, де його частини можуть викидати винятки під час виконання. Я б хотів глобально зловити будь-які необроблені винятки і записати їх, але в іншому випадку продовжуйте виконання програми так, ніби нічого не сталося (начебто як VB On Error Resume Next). Чи можливо це в C #? …


12
Чи зашифрується код у програмі нарешті, якщо я поверну значення у блоці "Спроба"
Я переглядаю товариш для коду і кажу, що він використовував оператор return всередині блоку спробу. Чи все-таки код у розділі "Нарешті" все ще спрацьовує, хоча решта блоку спробу не працює? Приклад: 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? Я також використовую макет на основі XML …

15
C ++ слід стека відображення за винятком
Я хочу мати спосіб повідомляти про стежку стека користувачеві, якщо буде викинуто виняток. Який найкращий спосіб зробити це? Це займає величезні кількості додаткового коду? Щоб відповісти на запитання: Я хотів би, щоб це було портативно, якщо можливо. Я хочу, щоб інформація з’являлася, щоб користувач міг скопіювати трасування стека та надіслати …

25
Як ви реалізуєте повторну спробу?
Try-catch має допомогти у вирішенні випадків. Це якось означає, що це допоможе нашій системі бути більш надійною: спробуйте відновитися після несподіваної події. Ми підозрюємо, що може трапитися щось під час виконання та вказівки (надсилання повідомлення), тому воно вкладається в спробу. Якщо трапиться щось майже несподіване, ми можемо щось зробити: пишемо …

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

25
Чи коли-небудь вигідніше використовувати "goto" мовою, яка підтримує цикли та функції? Якщо так, то чому?
Я давно перебуваю під враженням, що gotoніколи не можна використовувати, якщо можливо. Днями переглядаючи libavcodec (який написаний на С), днями я помітив багаторазове використання цього. Чи коли-небудь вигідніше використовувати gotoмову, яка підтримує цикли та функції? Якщо так, то чому?

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.