Я начал реализовывать try / catch в моей программе, но когда я тестировал его, исключения никогда не обнаруживались, и программа просто зависала.Даже самый простой вариант использования try / catch потерпит неудачу, т.е.
try
{
throw 123;
}
catch (...)
{
cerr << "This line doesn't get hit." << endl;
}
После долгих размышлений о том, как работают исключения и отладки, я наконец обнаружил, что проблема была в том, что я связывался с конкретно -static-libstdc++
который был причиной перерыва.Исключения работают нормально, когда этот флаг не установлен.После дальнейших исследований я обнаружил этот отчет об ошибке , но я не могу понять, что на нем написано.Похоже, что проблема все еще находится на свободе, но согласно этому более раннему сообщению об ошибке кажется, что может быть обходной путь согласно комментариям.К сожалению, я не совсем понимаю, что означают все комментарии и что они сделали для того, чтобы заставить его работать, если вообще вне сборки GCC вручную (чего я бы хотел избежать, если смогу).
Есть лиспособ устранения этой ошибки, в то же время связывая статическую стандартную библиотеку lib, и как мне это сделать?