Spis treści
- Do czego służą wyjątki?
- Co to jest stack trace?
- W której z metod wymienionych w poniższym stack trace rzucony został wyjątek?
Exception in thread "main" java.lang.IllegalArgumentException at Pytania.innaMetoda(Pytania.java:13) at Pytania.pewnaMetoda(Pytania.java:9) at Pytania.main(Pytania.java:5)
- Jak w języku Java obsługuje się wyjątki?
- Czy musimy stosować obsługę wyjątków jeżeli metoda, z której chcemy skorzystać, może rzucić wyjątek?
- Do czego służy sekcja finally i czy jest wymagana?
- Jak rzuca się wyjątki?
- Do czego służy słowo kluczowe throws?
- Jaką regułę muszą spełniać klasy, aby były klasami wyjątków?
- Co trzeba zrobić, aby pobrać komunikat skojarzony z wyjątkiem?
- Czym różnią się wyjątki Checked oraz Unchecked?
- Jakiego rodzaju (Unchecked / Checked) są poniższe wyjątki (musisz zajrzeć do dokumentacji Biblioteki Standardowej Java – Java Doc)?
- EOFException
- ClassCastException
- DateTimeParseException
- SQLException
- Czy wyjątek NullPointerException to wyjątek rodzaju Checked czy Unchecked?
- Co to jest silent catch (połykanie wyjątków)?
- Do czego służy try-with-resources i jak się tego mechanizmu używa?
- Czy poniższy kod jest poprawny?
class MojWyjatekException { } public class Pytania { public static void main(String[] args) { try { pewnaMetoda(); } catch (MojWyjatekException e) { System.out.println("Wystapil blad."); } } public static void pewnaMetoda() { throw new MojWyjatekException(); } }
- Czy poniższe metody skompilują się bez błędów?
public static void main(String[] args) { try { int x = getInt(); } catch (InputMismatchException e) { System.out.println("Wystapil blad: " + e.getMessage()); } if (x >= 0) { System.out.println("Podana liczba jest nieujemna."); } else { System.out.println("Podana liczba jest ujemna."); } } public static int getInt() { return new Scanner(System.in).nextInt(); }
- Czy poniższe metody skompilują się bez błędów?
public static void pewnaMetoda() { try { innaMetoda(); } catch (Exception e) { System.out.println(e.getMessage()); } catch (MojWyjatekException e) { System.out.println(e.getMessage()); } } public static void innaMetoda() throws MojWyjatekException { // pewne instrukcje mogace rzucic wyjatek }
gdzie MojWyjatekException to:class MojWyjatekException extends Exception { }
- Czy poniższa metoda skompiluje się bez błędów?
public static void pewnaMetoda() throw IllegalArgumentException { // pewne instrukcje moga rzucic wyjatek }
- Czy poniższe metody skompilują się bez błędów?
public static void main(String[] args) { int wynik; try { int x = getInt(); wynik = x * x; } catch (InputMismatchException e) { System.out.println("Wystapil blad: " + e.getMessage()); } System.out.println(wynik); } public static int getInt() { return new Scanner(System.in).nextInt(); }
- Czy poniższy kod się skompiluje?
public class Pytania { public static void main(String[] args) { pewnaMetoda(null); } public static String pewnaMetoda(String str) throws NullPointerException { return str.toUpperCase(); } }
- Czy poniższy kod się skompiluje?
class MojWyjatekException extends Exception { } public class Pytania { public static void main(String[] args) throws MojWyjatekException { throw new MojWyjatekException("Nic nie robie."); } }
- Czy poniższe metody skompilują się bez błędów?
public static void pewnaMetoda() { throw new IllegalArgumentException(); } public static void innaMetoda() { throw new Exception(); } public static void kolejnaMetoda() throws IOException { }
- Czy poniższy kod skompiluje się poprawnie?
class MojWyjatekException extends Exception { } public class Pytania { public static void main(String[] args) { try { pewnaMetoda(); } catch (MojWyjatekException | Exception e) { System.out.println(e.getMessage()); } } public static void pewnaMetoda() { // pewne instrukcje } }
- Czy poniższe metody skompilują się poprawnie?
public static void pewnaMetoda() { try { innaMetoda(); } catch (Exception e) { System.out.println("Wystapil blad: " + e.getMessage()); throw e; } } public static void innaMetoda() throws Exception { throw new Exception(); }
- Czy poniższy kod skompiluje się bez błędów? Jeżeli tak, to co zobaczymy na ekranie?
public class Pytania { public static void main(String[] args) { try { pewnaMetoda(0); } catch (Exception e) { System.out.println(e.getMessage()); } } public static int pewnaMetoda(int x) { if (x == 0) { throw new IllegalArgumentException(); } return x * x; } }