[C++] Czy try catch złapie błąd zaistniały w funkcji z niego wywoływanej?
Ostatnio zmodyfikowano 2018-06-03 09:52
twoxu Temat założony przez niniejszego użytkownika |
[C++] Czy try catch złapie błąd zaistniały w funkcji z niego wywoływanej? » 2018-06-02 22:52:07 Witam. Mam pewną funkcję w moim programie, która raczej z reguły działa stabilnie, ale czasami zdarza się jej wykrzaczyć i nie potrafię znaleźć powodu. Dlatego wpadłem na pomysł by wywoływać ją w środku try{}catch. Czy try złapie błąd który może wystąpić w wywoływanej funkcji? Przykładowy kod try { felernaFunkcja( argument ); } catch(...) { }
|
|
pekfos |
» 2018-06-02 23:31:01 Tak. Praktycznie nigdy nie widzi się throw w try, coś takiego można zastąpić wtedy innymi instrukcjami sterującymi. |
|
michal11 |
» 2018-06-03 00:13:56 Jeżeli błąd w twojej funkcji będzie wyjątkiem to tak, to zadziała. |
|
pekfos |
» 2018-06-03 00:51:01 i nie potrafię znaleźć powodu |
Chwila, jeśli nie miałeś na myśli wyjątków, to wysypania aplikacji nie złapiesz. Na to coś poradzisz tylko naprawiając kod, bo jest błędny. |
|
twoxu Temat założony przez niniejszego użytkownika |
» 2018-06-03 02:43:33 Na 99.24% jest to wyjątek, ponieważ zanim naprawiłem większość błędów w tej funkcji, to bardzo często wylatywało std::bad_alloc. Wygląda na to, że mimo wszystko muszę jeszcze do tej funkcji zajrzeć. Dzięki za odpowiedź. |
|
jankowalski25 |
» 2018-06-03 09:52:59 bardzo często wylatywało std::bad_alloc |
Co równie dobrze może oznaczać, że gdzieś cieknie pamięć i w pewnym momencie już się nie da więcej przydzielić. |
|
« 1 » |