что происходит, когда два исключения происходят?

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

из чего, если блок попытки выдает блок исключения и попытки, выходят, который уничтожает все автоматические переменные. Позволяет говорят, что каждый был автоматическим объектом, и его деструктор снова выдал исключение. Теперь у нас есть два неперехваченных исключения. Мой вопрос основан на этом факте.спасибо!!

5
задан Ashish Yadav 13 March 2010 в 20:36
поделиться

2 ответа

Это полностью зависит от языка. Однако на всех известных мне языках не может когда-либо быть несколько исключений одновременно (в одном потоке). Если возникло исключение, оно перемещается вверх по стеку вызовов до тех пор, пока не будет перехвачено, без выполнения кода в это время. Если исключение не обнаружено, программа аварийно завершает работу до того, как может быть выброшено другое. Если оно обнаружено, исключение больше не является «активным», и если обработчик генерирует новое исключение, старое забывается.

6
ответ дан 13 December 2019 в 19:24
поделиться

На уровне ЦП (на x86) существует ситуация, называемая двойной ошибкой :

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

Однако подобная «двойная ошибка» возникает на очень низком уровне и имеет значение только для ядра операционной системы.

5
ответ дан 13 December 2019 в 19:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: