Díl 3

Opětovné vyvolání výjimek

Navazujeme na minulý díl, ve kterém jsme shrnuli podtržítka, try-with-resources a AssertionError.


Jakmile zachytíte výjimku v bloku catch, je někdy vhodné tuto výjimku opětovně vyvolat. Tím výjimku zpracujete vhodnou metodou. Před Javou verze 7 však bylo možno v bloku catch vyvolat pouze výjimky základní třídy. Při deklaraci výjimky jste museli implementovat základní třídu výjimek. Nyní však můžete specifikovat své výjimky mnohem podrobněji.

Pro zopakování (vhodné pokud studujete na certifikaci OCA - Oracle Certified Associate).

Throwable a jeho roypad

Před Java verze 7:

Kód

static class FirstException extends Exception { }   
static class SecondException extends Exception { }   
 public void rethrowException(String exceptionName) throws Exception {   
  try {     
  if (exceptionName.equals("First")) {     
    throw new FirstException();   
    } else {    
     throw new SecondException();    
   }   
  } catch (Exception e) {   
    throw e;   
  }  
 }
 

Nově v Java verze 7:

Kód

public void rethrowException(String exceptionName)
  throws FirstException, SecondException {
     try { 
      // ...   
  }    
 catch (Exception e) {  
     throw e;   
  }  
 }

Použití operátoru diamant (Diamond Operator) u konstruktoru a @SuppressWarnings

Používání operátoru diamant (<>) zjednodušuje při vytváření objektu používání generik. Používání generik dělá z Javy jakožto statického programovacího jazyka hybrid, který se snaží stát dynamickým programovacím jazykem avšak snaží se zachovat přitom silnou typovou kontrolu.

V minulé verzi Javy se například spojový seznamy vytvářel jako tzv. Raw type:
List<String> list = new ArrayList();
Nebo se musel natvrdo typovat:
List<String> list = new ArrayList<String>();

Ve verzi 7 se elegantně vyhneme varování typu: unchecked or unsafe operations přidáním diamantu jako parametru. Tím říkáme překladači že ArrayList bude obsahovat prvny typu String.
List<String> list = new ArrayList<>();

Výhoda bude zřejmá u komplexnějších typů:

List<Map<String, List<String>> stringList = new ArrayList<>();

Tato nově zavedená funkce Javy 7 tedy šetří čas a čitelnost kódu. Pokud však přesto chcete použít raw type a nepoužít diamond operator, a nechcete zobrazit varování warning: unchecked, pak použijte anotaci verze 7: @SuppressWarnings.

Anotace @SafeVarargs

Když už jsme u těch anotací, nově přidaná anotace je i @SafeVarargs, zamezí zobrazování varování o nebezpečnosti proměnlivého počtu argumentů metodě či konstruktoru. Pokud metodě či konstruktoru předáváme jako parameter proměnlivý počet generik, je vhodné použít tuto anotaci.

Kód

import java.util.ArrayList;

public class SafeVargExample {
    
public static void main(String[] args) {
}

@SafeVarargs
public static <T> void displayElements(T... array) {
    for (T element : array) {
    System.out.println(element.getClass().getName() + ": "
    + element);
    }
  }
}

V příštím díle probereme Paths a knihovnu java.nio.*


SEO od společnosti Digital Pylon


Online casino s algoritmem

České casino online online slot-vegas.cz

Hrajte nejlepší hry jako je GoodGame Empire.





Zajímavé články: Jak najít práci snů? Zvolte kariéru v IT!, Češi mají rádi hrací automaty online, Jak funguje algoritmické obchodování Casino, Online výuka Algoritmus a online marketing mají svá pravidla, Automaty, Matematický vliv, Ratings, Jak fungují algoritmy hazardních her online: více znalostí, více peněz, SYPWAI - nástroj pro vědecký vývoj, Vynikají na globálním trhu: Nejlepší vývojáři softwaru pro online výherní automaty, Jak si vybrat nejlepší české online casino, Proč byste měli hrát online casino VPN revoluce, Kde najdeme algoritmy v každodenním životě?, Čeká vás pracovní pohovor mimo město? Podívejte se, jak dokonale zvládnout včasný příchod, 5 úžasných technologií ze světa hazardních her, Mirror and access to Mostbet, Svou kancelář můžete mít stále po ruce, Jaké výhody má digitalizovaná firma oproti off-line konkurenci?, Jaký systém vybrat pro snadné řízení výroby?, Nahradí umělá inteligence ajťáky?, Důvody, proč používat SnapTik ke stahování videí TikTok, Dokonalý den na pláži: Co si vzít s sebou, aby byl výlet zábavný a bezpečný?, Jak přežít dlouhý let?, Go pay GoodGame Empire, Blockchain, Rozhovor, Umělá inteligence


Doporučujeme

Internet pro vaši firmu na míru

https://www.algoritmy.net