Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Czy try catch złapie błąd zaistniały w funkcji z niego wywoływanej?

Ostatnio zmodyfikowano 2018-06-03 09:52
Autor Wiadomość
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
C/C++
try
{
    felernaFunkcja( argument );
}
catch(...)
{
    //coś
}
P-171340
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.
P-171341
michal11
» 2018-06-03 00:13:56
Jeżeli błąd w twojej funkcji będzie wyjątkiem to tak, to zadziała.
P-171342
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.
P-171343
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ź.
P-171344
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ć.
P-171345
« 1 »
  Strona 1 z 1