stringtranslate.com

Изящный выход

Грациозный выход [1] (или изящная обработка ) — это простая идиома программирования [ нужна цитация ] , при которой программа обнаруживает серьезную ошибку и в результате «корректно завершает работу» контролируемым образом. Часто программа выводит на терминал или в журнал описательное сообщение об ошибке как часть корректного выхода.

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

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

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

Фраза «изящный уход» также была обобщена и обозначала отказ от работы или отношений в жизни, которые закончились. [2] [3]

В Перле

В языке программирования Perl плавный выход обычно реализуется с помощью оператора die . Например, код открытия файла часто выглядит следующим образом:

# Откройте файл myresults для записи или умрете с соответствующим сообщением об ошибке. откройте RESULTS , '>' , 'myresults' или умрите «невозможно записать в файл 'myresults': $!» ;      

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

На Яве

В языке программирования Java блок try...catch часто используется для перехвата исключений . Весь потенциально опасный код помещается внутри блока и в случае возникновения исключения останавливается или перехватывается.

try { // Пытаемся прочитать файл "file.txt" Scanner sc = new Scanner ( new File ( "file.txt" )); while ( sc . hasNextLine ()) System . вне . println ( sc . readLine ()); СК . закрывать (); } catch ( IOException e ) { // Не удалось прочитать файл System . ошибаюсь . println ( "Файл не может быть прочитан. Трассировка стека:" ); е . печатьStackTrace (); }                  

В С

В C можно использовать функцию error(3) , предоставляемую в GNU библиотекой GNU C.

интервал ФД ; if (( fd = open ( "/dev/urandom" , O_RDONLY )) < 0 ) ошибка ( 1 , errno , "Ошибка открытия" );          

Если первый параметр не равен нулю, эта функция выйдет из родительского процесса и вернет этот параметр.

Смотрите также

Рекомендации

  1. ^ «изящный выход». Бесплатный словарь . Проверено 25 сентября 2016 г.
  2. ^ Эллен Гудман . «Цитата Эллен Гудман: «Есть хитрость в «изящном выходе». Началось..."". Гудриддс . Есть хитрость в «изящном выходе». Все начинается с осознания того, что работа, жизненный этап или отношения закончились, и отпустить их. Это означает оставить то, что закончилось, не отрицая его значимости или его прошлой важности для нашей жизни. Оно предполагает чувство будущего, веру в то, что каждая линия выхода — это вход, что мы движемся вверх, а не наружу.
  3. Сью Шелленбаргер (18 августа 2015 г.). «Как достойно уйти с работы». Журнал "Уолл Стрит. Грамотный уход может улучшить репутацию сотрудника и укрепить ценные отношения. Плохой может нанести серьезный ущерб обоим.