Wpis z mikrobloga

Ok, chwilę mi to zajęło ale wspominałem, że wpisy nie będą się pojawiać regularnie. Będę starał się pisać jak najczęściej.

1. Error a Exception
Podstawowa różnica jest taka, że błędów nie możemy obsługiwać. Najbardziej znanym błędem jest OutOfMemory, który pojawia się gdy po prostu brakuje nam pamięcie (Nie nam bezpośrednio a maszynie na której działa kod:)

Exceptions – to wyjątki, które mogą byś obsługiwane i najczęściej są to „błędy” spowodowane przez klienta. Ze znanych można wymienić FileNotFoundException albo NullPointerExcepton

2. Przechwytywanie
Skoro już wiemy jaka jest różnica pomiędzy błędem a wyjątkiem to jakich słów kluczowych potrzebujesz do przechwytywania wyjątków?
TRY → CATCH → FINALLY → THROW → THROWS
TRY – W tym miejscu umieszczamy blok kodu, który będzie sprawdzany pod względem wyjątków. Np operacje na bazie danych
CATCH – w tym bloku przechwytujemy wyjątek i ustalamy co z nim zrobić
FINALLY – w tym miejscu pojawi się kod, który postara się wykonać bez przechwytywania wyjątku

Zadanie domowe:


3. Encje
Która wersja kodu jest poprawna i dlaczego. Czy kod jest kompilowalny?
Ver1=========================

@Entity
public class Test {

@NotNull
int n;
//getters setters
}

Ver2=========================

@Entity
public class Test1 {

@NotNull
Integer n;
//getters setters
}

4. Czy konstruktor może być oznaczony jako final?


TAGI:
#pytanianadeva #programowanie  #nauka #naukaprogramowania  #java   #testowanieoprogramowania
pottymouth - Ok, chwilę mi to zajęło ale wspominałem, że wpisy nie będą się pojawiać ...

źródło: comment_2cKAOUmbzuCz5kmT5Bt5noE04ZkGBFeN.jpg

Pobierz

Ad3 Która wersja?

  • Wersja 1 34.5% (41)
  • Wersja 2 65.5% (78)

Oddanych głosów: 119

  • 27
  • Odpowiedz
@pottymouth: być może się mylę lecz obaj na tym skorzystamy oraz inni...

1. Error a Exception
Co do pierwszego podpunktu to nie jest przypadkiem tak, że wszystko co dziedziczy po klasie RuntimeException nie jest możliwe do przechwycenia przez usera, np. NullPointerException, natomiast możemy tworzyć własne wyjątki rozszerzając klasę Exception i je obsługiwać.
  • Odpowiedz
Co do pierwszego podpunktu to nie jest przypadkiem tak, że wszystko co dziedziczy po klasie RuntimeException nie jest możliwe do przechwycenia przez usera, np. NullPointerException,


@ciachostko: Nie jest tak.

1. Oczywiścię, że Errory możemy łapać i obsługiwać, ale zwyczajnie nie należy tego robić

@Arytmetyk
  • Odpowiedz
throw pozwala nam właśnie utworzyć w potrzebnym dla nas miejscu obiekt nowego wyjątku w metodzie która go deklaruje


@ciachostko: nie. throw rzuca wyjątkiem. Tworzysz go jak każdy normalny obiekt.
Można też rzucać nullem, kto wie co się stanie? :)
  • Odpowiedz
  • 6
@barretina praktycznie tylko crash JVM przeszkodzi w wykonaniu finally

Ale ogólnie jakość tych wpisów jest mocno średnia merytorycznie, jak ktoś chce zdobywać wiedzę to lepiej niech sobie te same pytania na stacku znajdzie
  • Odpowiedz