Как исключения выполняются с точки зрения операционной системы?
Исходя из С++, я могу понять исключения из перспективы программиста.
Когда генерируется исключение, стек начинает разматываться, и каждая активационная запись имеет возможность поймать и обработать исключение.
Но чья ответственность заключалась в том, чтобы выбросить исключение в первую очередь?
- Это операционная система, которая отправляет триггер процессу говоря ему, чтобы ввести в него "состояние обработки исключений"?
- Является ли процесс вызывает и обрабатывает исключения в своем собственном программном пространстве, не выпущен в ОС?
Вот две программы сбоев, которые иллюстрируют мою неопределенность.
int main(){
int i = 1/0; //did the OS tell the process to end?
return 0;
}
#include <exception>
int main(){
throw 11; //did the process tell the OS it needs to end?
return 0;
}