Можно ли восстановить нормальный поток выполнения программы C после ошибки ошибки сегментации?
struct A {
int x;
};
A* a = 0;
a->x = 123; // this is where segmentation violation occurs
// after handling the error I want to get back here:
printf("normal execution");
// the rest of my source code....
Мне нужен механизм, похожий на NullPointerException, который присутствует в Java, С# и т.д.
Примечание. Пожалуйста, не говорите мне, что в С++ есть механизм обработки исключений, потому что я знаю это, не скажите мне, что я должен проверять каждый указатель перед назначением и т.д.
Чего я действительно хочу достичь - это вернуться к нормальному потоку выполнения, как в приведенном выше примере. Я знаю, что некоторые действия могут быть предприняты с использованием сигналов POSIX. Как это должно выглядеть? Другие идеи?