Jak uniknąć wykonywanie kodu po wyrzuceniu wyjątku

0

Witam

Bazując na otwartych samplach kodu Javy buduję sobie swój program. Spotykam m.in. coś w stylu:

public void a() {
    try { ... }
    catch(Exception e) { ... }
    //rest of code
}

W bloku try są jakies intrukcje mogące wywołać błędy, łapane przez catch-a. To jest najzupełniej w porzadku. Problem dotyczy tego 'rest of code', które ma wykonać sie jeżeli try nie wyrzuci wyjątku i tylko w tym przypadku.
Jeśli natomiast wystąpi wyjątek owa reszta też zostanie wykonana.

Co mam wpisać w catch{ } żeby wszystkie wykonywane instrukcje zostały przerwane i zostały wykonane np. funkcje informujace o błedzie itd.

Jedyne rozwiazanie jakie ja widze to przepisane tego wszystkiego na styl:

if(instrukcja z try) {
   rest of code
}
else {
  pokaz błedy
}
0
try{
//...
} catch (Exception e) {
e.printStackTrace();
pokazKomunikatOBledzie();
return;
}
//reszta
0

Rzucić dalej ten sam lub inny wyjątek ;)

try {
...
} catch (JakiśException e) {
  // bla bla bla
  throw new InnyException(...); // albo throw e;
}
0

Masz dwie opcje:

Abo całość (razem z "rest of code") bierzesz w znacznik try{ ... }catch

Albo w sekcji ' catch ' piszesz po prostu ' return; '

1

Poza tym, jeśli metoda wyłapuje wyjątek to znaczy, że wie, jak go obsłużyć. Nie powinna się wtedy wywalać i nagle zwracać, informując o błędzie. Jeśli nie potrafi go obsłużyć, to sama powinna rzucać go wyżej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1