• 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

0 głosów
1,294 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,260 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 508 wizyt
pytanie zadane 14 września 2017 w Java przez niewiem17 Początkujący (480 p.)
0 głosów
1 odpowiedź 809 wizyt
pytanie zadane 2 maja 2019 w Java przez Metarinda Użytkownik (740 p.)
0 głosów
3 odpowiedzi 656 wizyt
pytanie zadane 5 maja 2017 w Java przez Szejk Obywatel (1,510 p.)

93,731 zapytań

142,668 odpowiedzi

323,286 komentarzy

63,291 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...