Сравнение методов обработки ошибок

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


Стандартным подходом к обработке ошибок всегда была передача кода ошибки вызывающему методу, который должен был декодировать возвращаемое значение и действовать соответствующим образом. Воз-вр^щаемое значение может быть простым, как, скажем, базовый тип С или C++, или это может быть указатель на более сложный объект, содержащий всю информацию, необходимую для оценки и понимания ошибки. Более развитые методы обработки ошибок включают соответствующую законченную подсистему. В этом случае вызванный метод указывает ошибку подсистеме, а затем возвращает код ошибки вызывающему методу. Вызывающий метод затем вызывает глобальную функцию, экспортируемую из подсистемы обработки ошибок, чтобы определить причину последней зарегистрированной подсистемой ошибки. Пример такого подхода — Microsoft Open Database Connectivity (ODBC) SDK. Однако независимо от конкретной семантики концепция остается той же: активизирующий метод так или иначе вызывает другой метод и анализирует возвращаемое значение, чтобы узнать, успешно ли завершился вызванный метод. Этот подход, хотя и был стандартом долгие годы, во многом очень устарел. В следующих разделах описываются случаи, в которых обработка исключений имеет громадные преимущества над применением кодов возврата.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: