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