Вы уже неcatch
Нарушения доступа и вы никогда не могли. Нарушения доступа не являются исключениями C++. Они являются «исключениями» другого типа —, которые возникают в вашей операционной системе. На самом деле я предпочитаю не называть их «исключениями».
Операционные системы Linux и Linux просто прекращают процесс (используя сигнал ), который выполняет нарушение доступа.
В Windows вместо этого используется нечто, называемое «структурированные исключения», которое вы потенциально можете уловить и, возможно, проигнорировать использование языковых расширений в Visual Studio. Сейчас мы выходим из-за темы, но вы можете read up about those. Я бы не рекомендовал их использовать, заметьте. Как только у вас возникло нарушение прав доступа, я бы лично сказал, что «все ставки отключены», и «у нас есть некоторая отладка».
Обратите внимание, что ваш оператор 'catch' не отображает все исключения. Только те, которые происходят из 'std :: exception'. В C++ исключения не требуются для получения из 'std :: exception' или даже экземпляров класса; вы можете «бросить» 'int', например. –