14.5. At fange flere slags undtagelser

Ovenfor har vi behandlet alle undtagelser ens. Det er muligt at hægte flere catch-sætninger med hver sin type undtagelse på samme try-blok.


    try 
    {
      ...
      ...
    }
    catch (NumberFormatException u1)
    {
      System.out.println("Fejl i fortolkningen af inddata");
      u1.printStackTrace();
    } 
    catch (IOException u2)
    {
      System.out.println("Inddata kunne ikke læses:"+u2);
    }
    catch (NullPointerException u3)
    {
      System.out.println("Intern fejl i programmet:");
      u3.printStackTrace();
    }

Alle undtagelses-klasser arver fra Exception, og man kan også fange enhver undtagelse, ved at fange deres fælles superklasse.

Fejlhåndteringen bliver så generel, ligegyldigt hvilken type undtagelse der opstod


    try 
    {
      ...
      ...
    }
    catch (Exception u)
    {
      System.out.println("Fejl:");
      u.printStackTrace();
    }