CAPITOLO 6
description
Transcript of CAPITOLO 6
CAPITOLO 6
LA GESTIONE DELLE ECCEZIONI IN JAVA
ECCEZIONI E catch/throw
• Consentono di realizzare goto non localivoid GrowZebra(Zebra mz) {
try { for (;;) {FeedZebra(mz, new Anchovy()) ;}}
catch (JunkFoodException e)
{ mz.Starve(); }
catch (ThrowUpException e)
{ mz.Drink(new Digestive()); } }
void FeedZebra(Zebra z, Anchovy a) {
Exception away = new JunkFoodException();
Exception up = new ThrowUpException();
if (a.smells()) { throw away; } else
if (z.full()) { throw up; } else { z.GiveAnchovy(a); } }
ECCEZIONI PREDEFINITE E DEFINIZIONE DI ECCEZIONI
• Eccezioni predefinite e ricuperabiliArithmeticException
IllegalArgumentException
ArrayStoreException IllegalMonitorStateException
ClassCastException IllegalThreadStateException
NullPointerException IndexOutOfBoundException
NumberFormatException NegativeArraySizeException
SecurityException
• Definizione di nuove eccezioni ricuperabiliclass JunkFoodException extends Exception {
JunkFoodException() {} }