Normalnie pozostawiłbym go nieobsługiwany, a debugger (gdb, Eclipse CDT) pokaże mi stos wywołań. Niestety kod jest wywoływany przez bibliotekę strony trzeciej, która pochłania wszystkie wyjątki. Mogę wychwycić wyjątek przed biblioteką strony trzeciej, ale nie widzę stosu wywołań (rozwijanie stosu?).Znajdowanie miejsca, w którym std :: out_of_range jest zgłaszane przez std :: vector.at()
Jak mogę dowiedzieć się, gdzie został zgłoszony wyjątek?
Awans i dzięki! Tak, w tym konkretnym przypadku pomogli :) Ale na przyszłość: czy mogę filtrować według typu wyjątku? Biblioteka osób trzecich używa wyjątków do kontroli przepływu ... więc otrzymywałbym zbyt wiele powiadomień o wyrzucanych wyjątkach. – Ali
@Ali: Przepraszamy, to, co wiem, jest w linku. Nie mam żadnych faktycznych doświadczeń z tym. Nie widzę sposobu na określenie typu wyjątku. –
Chciałbym przyjąć twoją odpowiedź, ale proszę dodać więcej informacji dla ogólnej publiczności, co robić (wpisz rzut catch w konsoli gdb) i ten link: http://stackoverflow.com/q/1109922/341970 – Ali