Powiel możliwe:
How to print message from caught exception?Skąd bierze się tekst z wyrzuconego wyjątku?
Przepraszam, czy to jest podstawowy lub powielane - Zrobiłem kilka wyszukiwań pierwszy, ale nie znaleźliśmy niczego, co odpowiedział na to.
Jeśli coś zrobić podstawowe takie jak:
throw exception("This thing didn't work");
Gdzie mogę zobaczyć? Ciąg nie pojawia się w konsoli wyjściowej, w stosie ani w żadnym z plików .log powiązanych z projektem. Zastanawiam się, dlaczego wkładam sznurek, jeśli nigdzie go nie widać. Mogę oczywiście użyć śladu stosu, aby zobaczyć, gdzie wybuchł, ale tego rodzaju pokonuje cel wyjątków w pierwszej kolejności.
W Javie, gdy podaję ciąg znaków, zobaczę ten ciąg w wynikach gdzieś. Zastanawiam się tylko, czy możliwe jest odtworzenie tego zachowania w C++.
Myślę, że widać, kiedy wyjątek zostanie złapany. Poza tym prawdopodobnie zrzutu awaryjnego? – nhahtdh
Jesteś * chwytający wyjątek, prawda? –
Technicznie nie jest prawidłowy. Używasz błędu w libbie MS (std :: exception nie ma konstruktora, który pobiera ciąg). Ale twój punkt jest ważny, jeśli zmienisz na 'std :: runtime_error (" To coś nie działa ")'. –