• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Java - własny wyjątek - printStackTrace

Object Storage Arubacloud
0 głosów
1,071 wizyt
pytanie zadane 30 września 2017 w Java przez Dieva Nowicjusz (150 p.)

Cześć, aktualnie w Javie potrzebuje wyjątku który z założenia:

 - wyrzuca na konsole stack trace
- kończy działanie programu. 

Niestety nie za bardzo wiem gdzie taka funkcjonalność powinna być zaimplementowana (jakie jest najlepsze podejście). Aktualnie widzę tu dwa miejsca gdzie mogę zaimplementować założone zachowanie. 

1. wewnątrz konstruktora wyjątku
2. podczas obsługi wyjątku 
 ... ? 
 

// Konstruktor + opcja 1

public class ExceptionName extends Exception {
    public ExceptionName () {
        super();
    }

    public ExceptionName (String message) {
        this.printStackTrace();
        super(message);
        System.exit(code);
    }
}

// opcja 2 

try {
    // do sth
} catch (Exception e) {
    e.printStackTrace();
    System.exit(SomeCode)
}

Czy jest jedyne słuszne podejście w takim wypadku czy też jest tu pewna dowolność ? I czy sposób w jaki to realizuje jest poprawny ?

Mam nadzieję, że pytanie nie jest głupie :)
Z góry dziękuję za odpowiedzi 

1 odpowiedź

+1 głos
odpowiedź 30 września 2017 przez mbabane Szeryf (79,280 p.)
wybrane 30 września 2017 przez Dieva
 
Najlepsza

W sumie trzeba by odpowiedzieć na pytanie co to jest wyjątek.

Wyjątek to (H. Schildt "Java. Kompendium programisty. Wydanie VIII"):

Wyjątek to nietypowa sytuacja, która wystąpiła w trakcie wykonywania kodu programu. Innymi słowy, wyjątek to błąd wykrywany w trakcie działania programu.[...]

Wyjątek w języku Java to obiekt opisujący nietypową sytuację, która wystąpiła w wykonywanym fragmencie kodu. Gdy wystąpi nietypowa sytuacja, tworzy się obiekt reprezentujący wyjątek, a następnie zgłasza (rzuca) się go w metodzie, w której wystąpił problem. Metoda może albo sama obsłużyć wyjątek, albo przekazać go dalej.

 Reasumując wydaje mi się, że wyjątek ma być tylko opisem błędu, natomiast do jego obsługi należy użyć innego obiektu. W Twoim przypadku obsługą będzie druk stosu oraz wyłączenie aplikacji.

komentarz 30 września 2017 przez Dieva Nowicjusz (150 p.)
Ok rozumiem :)

Dzięki za odpowiedź !

Podobne pytania

0 głosów
2 odpowiedzi 210 wizyt
pytanie zadane 14 września 2017 w Java przez niewiem17 Początkujący (480 p.)
0 głosów
1 odpowiedź 464 wizyt
pytanie zadane 2 maja 2019 w Java przez Metarinda Użytkownik (740 p.)
0 głosów
3 odpowiedzi 326 wizyt
pytanie zadane 5 maja 2017 w Java przez Szejk Obywatel (1,510 p.)

92,551 zapytań

141,399 odpowiedzi

319,531 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...