Gestione delle Eccezioni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Gestione delle Eccezioni"

Transcript

1 Gestione delle Eccezioni Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni 1

2 Introduzione al concetto di eccezioni E possibile definire un eccezione come un situazione imprevista che il flusso di un applicazione può incontrare. È possibile gestire un eccezione in Java, imparando ad utilizzare cinque semplici parole chiave: try, catch, finally, throw e throws. Sarà anche possibile creare eccezioni personalizzate e decidere non solo come, ma anche in quale parte del codice gestirle, grazie ad un meccanismo di propagazione estremamente potente. 2

3 Errori È invece possibile definire un errore come una situazione imprevista non dipendente da un errore commesso dallo sviluppatore. A differenza delle eccezioni quindi, gli errori non sono gestibili. Questo concetto è implementato nella libreria Java mediante la classe Error e le sue sottoclassi. Un esempio di errore che potrebbe causare un programma è quello relativo alla terminazione delle risorse di memoria. Ovviamente, questa condizione non è gestibile. 3

4 Gerarchie e categorizzazioni 4

5 Meccanismo delle eccezioni sia la classe Exception sia la classe Error, estendano una classe che si chiama lanciabile (Throwable), è dovuto al meccanismo con cui la Java Virtual Machine reagisce quando si imbatte in una eccezione-errore. Infatti, se il nostro programma genera un eccezione durante il runtime, la JVM istanzia un oggetto dalla classe eccezione relativa al problema, e lancia l eccezione appena istanziata (tramite la parola chiave throw). Esempio: ArithmeticException exc = new ArithmeticException(); throw exc; 5

6 Categorizzazioni un ulteriore categorizzazione delle eccezioni, è data dalla divisione delle eccezioni in checked ed unchecked exception. Ci si riferisce alle RuntimeException (e le sue sottoclassi) come unchecked exception. Tutte le altre eccezioni (ovvero tutte quelle che non derivano da RuntimeException), vengono dette checked exception. Se si utilizza un metodo che lancia una checked exception senza gestirla da qualche parte, la compilazione non andrà a buon fine. Da qui il termine checked exception (in italiano eccezioni controllate). 6

7 Checked Exception Queste eccezioni devono essere gestite devono essere gestite obbligatoriamente altrimenti in fase di compialzione verrà segnalato un errore 7

8 unchecked exception Queste eccezioni si verificano solo in runtime quindi il compilatore non segnala alcun errore se non gestite 8

9 Alcune importanti eccezioni Class ArithmeticException ArrayIndexOutOfBoundsException FileNotFoundException IllegalArgumentException IndexOutOfBoundsException Description Division by zero o altro problema aritmetico Un indice di un array è minore di 0 o maggiore o uguale alla dimensione Riferimento ad un file non trovato Chiamata di un metodo con un paramtro inappropriato Un indice di un vettore o di una stringa è fuori range NullPointerException NumberFormatException StringIndexOutOfBoundsException Riferimento ad un oggeto che non è stato instanziato Uso di un inapproppriato formato numerico chiamando un metodo Uguale ad ArrayIndexOutOfBoundsException per le stringhe 9

10 Alcune importanti eccezioni causate dai metodi Class Method Exception Raised Description Double valueof(string) NumberFormatException La stringa non è un double Integer parseint(string) NumberFormatException La stringa non è un int String String(String) NullPointerException La Stringa è null indexof(string) NullPointerException La Stringa è null lastindexof(string) NullPointerException La Stringa è null charat(int) StringIndexOutOfBoundsException L int è un indice non valido substring(int) StringIndexOutOfBoundsException L int è un indice non valido substring(int,int) StringIndexOutOfBoundsException Un int è un indice non valido 10

11 Meccanismo per la gestione delle eccezioni Se bisogna sviluppare una parte di codice che potenzialmente può scatenare un eccezione è possibile circondarlo con un blocco try seguito da uno o più blocchi catch. Per esempio: public class Ecc1 { public static void main(string args[]) { int a = 10; int b = 0; int c = a/b; System.out.println(c); 11

12 Meccanismo per la gestione delle eccezioni La classe precedente può essere compilata senza problemi, ma genererà un eccezione durante la sua esecuzione, dovuto all impossibilità di eseguire una divisione per zero. In tal caso, la JVM dopo aver interrotto il programma produrrà il seguente output: Exception in thread "main" java.lang.arithmeticexception: / by zero at Ecc1.main(Ecc1.java:6) 12

13 Meccanismo per la gestione delle eccezioni L unico problema è che il programma è terminato prematuramente. Utilizzando le parole chiave try e catch sarà possibile gestire l eccezione in maniera personalizzata: public class Ecc2 { public static void main(string args[ ]) { int a = 10; int b = 0; try { int c = a/b; System.out.println(c); catch (ArithmeticException exc) { System.out.println("Divisione per zero..."); 13

14 Meccanismo per la gestione delle eccezioni Nell esempio precedente il reference exc, puntava proprio all eccezione che la JVM aveva istanziato e lanciato. Infatti tramite esso, è possibile reperire informazioni proprio sull eccezione stessa. Il modo più utilizzato e completo per ottenere informazioni su ciò che è successo, è invocare il metodo printstacktrace() sull eccezione stessa: int a = 10; int b = 0; try { int c = a/b; System.out.println(c); catch (ArithmeticException exc) { exc.printstacktrace(); 14

15 Meccanismo per la gestione delle eccezioni È ovviamente fondamentale che si dichiari, tramite il blocco catch, un eccezione del tipo giusto. Per esempio, il seguente frammento di codice: int a = 10; int b = 0; try { int c = a/b; System.out.println(c); catch (NullPointerException exc) { exc.printstacktrace(); produrrebbe un eccezione non gestita, e, quindi, un immediata terminazione del programma. Infatti, il blocco try non ha mai lanciato una NullPointerException, ma una ArithmeticException. 15

16 Meccanismo per la gestione delle eccezioni Come per i metodi, anche per i blocchi catch i parametri possono essere polimorfi. Per esempio, il seguente frammento di codice: int a = 10; int b = 0; try { int c = a/b; System.out.println(c); catch (Exception exc) { exc.printstacktrace(); contiene un blocco catch che gestirebbe qualsiasi tipo di eccezione, essendo Exception, la superclasse da cui discende ogni altra eccezione. Il reference exc, è in questo esempio, un parametro polimorfo. 16

17 Meccanismo per la gestione delle eccezioni È anche possibile far seguire ad un blocco try, più blocchi catch, come nel seguente esempio: int a = 10; int b = 0; try { int c = a/b; System.out.println(c); catch (ArithmeticException exc) { System.out.println("Divisione per zero..."); catch (NullPointerException exc) { System.out.println("Reference nullo..."); catch (Exception exc) { exc.printstacktrace(); 17

18 Meccanismo per la gestione delle eccezioni È anche possibile far seguire ad un blocco try, oltre a blocchi catch, un altro blocco definito dalla parola chiave finally, per esempio: public class Ecc4 { public static void main(string args[]) { int a = 10; int b = 0; try { int c = a/b; System.out.println(c); catch (ArithmeticException exc) { System.out.println("Divisione per zero..."); catch (Exception exc) { exc.printstacktrace(); finally { System.out.println("Tentativo di operazione"); Ciò che è definito in un blocco finally, viene eseguito in qualsiasi caso, sia se viene lanciata l eccezione, sia se non viene lanciata. 18

19 Meccanismo per la gestione delle eccezioni Un classico esempio (più significativo del precedente) in cui la parola finally è spesso utilizzata è il seguente: public void insertindb() { try { cmd.executeupdate( INSERT INTO ) catch (SQLException exc) { exc.printstacktrace(); finally { connection.close(); 19

20 Eccezioni personalizzate Può essere utile definire nuovi tipi di eccezioni. Infatti, per un particolare programma, potrebbe essere una eccezione anche una divisione per 5. Un programma che deve gestire in maniera automatica le prenotazioni per un teatro, potrebbe voler lanciare un eccezione nel momento in cui si tenti di prenotare un posto non più disponibile. In tal caso la soluzione è estendere la classe Exception, ed eventualmente aggiungere membri e fare override di metodi come tostring(). Segue un esempio: 20

21 Eccezioni personalizzate public class PrenotazioneException extends Exception { public PrenotazioneException() { // Il costruttore di Exception chiamato inizializza la // variabile privata message super( Problema con la prenotazione ); public String tostring() { return getmessage() + : posti esauriti! ; La nostra eccezione, contiene informazioni sul problema, e rappresenta una astrazione corretta. Tuttavia la JVM, non può lanciare utomaticamente una PrenotazioneException nel caso si tenti di prenotare quando non ci sono più posti disponibile. La JVM infatti, sa quando lanciare una ArithmeticException ma non sa quando lanciare una PrenotazioneException. In tal caso sarà compito dello sviluppatore lanciare l eccezione. Esiste infatti la parola chiave throw (in inglese lancia ), che permette il lancio di un eccezione tramite la seguente sintassi: PrenotazioneException exc = new PrenotazioneException(); throw exc; 21

22 Eccezioni personalizzate Il codice precedente ovviamente farebbe terminare prematuramente il programma a meno di gestire l eccezione come segue: try { //controllo sulla disponibilità dei posti if (postidisponibili == 0) { //lancio dell eccezione throw new PrenotazioneException(); //istruzione eseguita // se non viene lanciata l eccezione postidisponibili--; catch (PrenotazioneException exc){ System.out.println(exc.toString()); 22

23 propagazione dell eccezione dovendo utilizzare la condizione if, sembra superfluo l utilizzo dell eccezione. In effetti è così! Ma ci deve essere una ragione per la quale esiste la possibilità di creare eccezioni personalizzate e di poterle lanciare. Questa ragione è la propagazione dell eccezione per i metodi chiamanti. La potenza della gestione delle eccezioni è dovuta essenzialemente a questo meccanismo di propagazione. Per comprenderlo bene, affidiamoci coma la solito ad un esempio. 23

24 propagazione dell eccezione Supponiamo di avere la seguente classe: public class Botteghino { private int postidisponibili; public Botteghino() { postidisponibili = 100; public void prenota() { try { //controllo sulla disponibilità dei posti if (postidisponibili == 0) { //lancio dell eccezione throw new PrenotazioneException(); //metodo che realizza la prenotazione // se non viene lanciata l eccezione postidisponibili--; catch (PrenotazioneException exc){ System.out.println(exc.toString()); 24

25 propagazione dell eccezione La classe Botteghino astrae in maniera semplicistica, un botteghino virtuale che permette di prenotare i posti in un teatro. Ora consideriamo la seguente classe eseguibile (con metodo main) che utilizza la classe Botteghino: public class GestorePrenotazioni { public static void main(string [] args) { Botteghino botteghino = new Botteghino(); for (int i = 0; i < 101; ++i){ botteghino.prenota(); System.out.println( Prenotato posto n + i); 25

26 propagazione dell eccezione Per una classe del genere, il fatto che l eccezione sia gestita all interno della classe Botteghino, rappresenta un problema. Infatti l output del programma sarà: Prenotato posto n 1 Prenotato posto n 2... Prenotato posto n 99 Prenotato posto n 100 Problema con la prenotazione: posti esauriti! Prenotato posto n 101 che ovviamente contiene una contraddizione. 26

27 propagazione dell eccezione In questo caso, l ideale sarebbe gestire l eccezione nella classe GestorePrenotazioni, piuttosto che nella classe Botteghino: public class GestorePrenotazioni { public static void main(string [] args) { Botteghino botteghino = new Botteghino(); try { for (int i = 1; i <= 101; ++i){ botteghino.prenota(); System.out.println( Prenotato posto n + i); catch (PrelievoException exc) { System.out.println(exc.toString()); 27

28 propagazione dell eccezione Tutto ciò è fattibile grazie al meccanismo di propagazione dell eccezione di Java. Per compilare la classe Botteghino però, non basta rimuovere il blocco try catch dal metodo prenota, ma bisogna anche utilizzare la parola chiave throws nel seguente modo: public void prenota() throws PrelievoException { //controllo sulla disponibilità dei posti if (postidisponibili == 0) { //lancio dell eccezione throw new PrenotazioneException(); //metodo che realizza la prenotazione // se non viene lanciata l eccezione postidisponibili--; 28

29 propagazione dell eccezione In questo modo otteremo il seguente desiderabile output: Prenotato posto n 1 Prenotato posto n 2... Prenotato posto n 99 Prenotato posto n 100 Problema con la prenotazione: posti esauriti! 29

30 propagazione dell eccezione Se non utilizzassimo la clausola throws nella dichiarazione del metodo, il compilatore non compilerebbe il codice precedente. Infatti, segnalerebbe che il metodo prenota potrebbe lanciare l eccezione PrelievoException (che è evidente al compilatore per la parola chiave throw), e che questa, non viene gestita. In particolare il messaggio di errore restituito sarebbe simile al seguente: GestorePrenotazioni2.java:5: unreported exception PrenotazioneException; must be caught or declared to be thrown 30

31 propagazione dell eccezione N.B. : Questo messaggio è una ulteriore prova delle caratteristiche di robustezza di Java. Con la clausola throws nella dichiarazione del metodo, in pratica è come se avvertissimo il compilatore che siamo consapevoli che il metodo possa lanciare al runtime la PrelievoException, e di non preoccuparsi, perché gestiremo in un altra parte del codice l eccezione. N.B. : Se un metodo chiamante vuole utilizzare un altro metodo dachiamare che dichiara con una clausola throws il possibile lancio di un certo tipo di eccezione, allora, il metodo chiamante, o deve gestire l eccezione con un blocco try catch che include la chiamata al metodo dachiamare, o deve dichiarare anch esso una clausola throws alla stessa eccezione. Ad esempio, ciò vale per il metodo main della classe GestorePrenotazioni. 31

32 propagazione dell eccezione N.B. : Molti metodi della libreria standard sono dichiarati con clausola throws a qualche eccezione. Per esempio molti metodi delle classi del package java.io, dichiarano clausole throws alla IOException (eccezione di input - output). Appare ancora più chiaro ora la categorizzazione tra eccezioni checked ed unchecked: le checked exception devono essere per forza gestite per poter compilare, le uncheked no, dato che si presentano solo al runtime. N.B. : E possibile dichiarare nella clausola throws anche più di una eccezione, separando le varie tipologie con virgole, come nel seguente esempio: public void prenota() throws PrelievoException, NullPointerException {... 32

33 Precisazione sull override: Quando si fa override di un metodo, non è possibile specificare clausole throws ad eccezioni che il metodo base non ha nella propria clausola throws. È comunque possibile da parte del metodo che fa override, dichiarare una clausola throws ad eccezioni che sono sottotipi di eccezioni che il metodo base, ha nella sua clausola throws. Per esempio: public class ClasseBase { public void metodo() throws java.io.ioexception { class SottoClasseCorretta1 extends ClasseBase { public void metodo() throws java.io.ioexception { class SottoClasseCorretta2 extends ClasseBase { public void metodo() throws java.io.filenotfoundexception { class SottoClasseCorretta3 extends ClasseBase { public void metodo() { class SottoClasseScorretta extends ClasseBase { public void metodo() throws java.sql.sqlexception { 33

34 Precisazione sull override: La classe ClasseBase ha un metodo che dichiara nella sua clausola throws una IOException. La classe SottoClasseCorretta1 fa override del metodo e dichiara la stessa IOException nella sua clausola throws. La classe SottoClasseCorretta2 fa override del metodo e dichiara una FileNotFoundException, che è sottoclasse di IOException nella sua clausola throws. La classe SottoClasseCorretta3 fa override del metodo e non dichiara clausole throws. Infine la classe SottoClasseScorretta, fa override del metodo e dichiara una SQLException nella sua clausola throws, e ciò è illegale. 34

Eccezioni ed asserzioni

Eccezioni ed asserzioni Eccezioni ed asserzioni I concetti relativi ad eccezioni, errori ed asserzioni e le relative gestioni, permettono allo sviluppatore di scrivere del software robusto, ovvero che riesca a funzionare correttamente,

Dettagli

Gestione delle eccezioni in Java

Gestione delle eccezioni in Java Gestione delle eccezioni in Java - Introduzione al concetto di eccezioni E possibile definire un eccezione come un situazione imprevista che il flusso di un applicazione può incontrare. È possibile gestire

Dettagli

Laboratorio di reti I

Laboratorio di reti I Laboratorio di reti I Stefano Brocchi brocchi@dsi.unifi.it 13 ottobre, 2009 Stefano Brocchi Laboratorio di reti I 13 ottobre, 2009 1 / 27 Introduzione Obiettivi del corso Aspetti di programmazione Java

Dettagli

Insegnamento di Laboratorio di algoritmi e strutture dati

Insegnamento di Laboratorio di algoritmi e strutture dati Insegnamento di Laboratorio di algoritmi e strutture dati Roberto Posenato ver. 0.6, 31/01/2008 1 / 25 Si comincia... 1 Esigenza... Definizione Tipi di eccezioni Sollevare eccezioni Gestire le eccezioni

Dettagli

Eccezioni predefinite

Eccezioni predefinite Eccezioni predefinite Java mette a disposizione molte eccezioni già confezionate, che descrivono la maggioranza dei problemi che possono verificarsi a run-time. Ognuna di queste è una classe. Tutte queste

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Eccezioni Categorie di eccezioni checked unchecked Gestione delle eccezioni Clausola throws Costrutto try - catch - finally Comando

Dettagli

Eccezioni. Corso di Programmazione CdS: Informatica e Tecnologie per la Produzione di Software Nicola Fanizzi.

Eccezioni. Corso di Programmazione CdS: Informatica e Tecnologie per la Produzione di Software Nicola Fanizzi. Eccezioni Corso di Programmazione CdS: Informatica e Tecnologie per la Produzione di Software Nicola Fanizzi fanizzi@di.uniba.it 2 Eccezione Evento anormale che avviene durante l'esecuzione del programma

Dettagli

Programmazione ad Oggetti

Programmazione ad Oggetti Programmazione ad Oggetti Java Eccezioni Eccezioni in breve Un eccezione è un oggetto che descrive una situazione anomala o di errore L eccezioni vengono lanciate da una parte di un programma e possono

Dettagli

Gestione delle eccezioni

Gestione delle eccezioni Gestione delle eccezioni Le eccezioni sono un meccanismo per gestire situazioni anomale durante l esecuzione dei metodi. La gestione delle eccezioni deve garantire i seguenti principi: - le eccezioni non

Dettagli

Le eccezioni in Java

Le eccezioni in Java Le eccezioni in Java G. Grossi 17 gennaio 2007 Indice 1 Le eccezioni Gerarchia eccezioni Le eccezioni Object Throwable Error Exception Controllate Non controllate RunTimeException Indice Le eccezioni 1

Dettagli

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso

Dettagli

Programmazione a Oggetti Lezione 11. Eccezioni e Packages

Programmazione a Oggetti Lezione 11. Eccezioni e Packages Programmazione a Oggetti Lezione 11 Eccezioni e Packages Sommario Eccezioni Sollevamento Cattura Trattamento Packages e visibilità Eccezioni I programmi spesso si trovano ad operare in condizioni anomale:

Dettagli

Eccezioni. Comportamento di default (esempio) Propagazione delle eccezioni

Eccezioni. Comportamento di default (esempio) Propagazione delle eccezioni Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Eccezioni L esistenza di

Dettagli

Gestione delle eccezioni in Java

Gestione delle eccezioni in Java Gestione delle eccezioni in Java Fondamenti di Informatica Ingegneria Gestionale Canale AL 1 Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel

Dettagli

Gestire le eccezioni. Lezione XI

Gestire le eccezioni. Lezione XI Gestire le eccezioni Lezione XI Scopo della lezione Studiare il meccanismo di gestione delle eccezioni Implementare nuove eccezioni IX-B.2 Tipi di errori Errori rilevati in fase di compilazione: errori

Dettagli

Eccezioni in Java A. FERRARI

Eccezioni in Java A. FERRARI Eccezioni in Java A. FERRARI Eccezioni Una eccezione è un oggetto che descrive una situazione anomala o una situazione di errore Le eccezioni vengono «lanciate» (throw) in un punto del programma e possono

Dettagli

FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni

FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria CORSO DI FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni Prof. Zambonelli, Ing. Cabri, Ing. Denti, Ing. Andrea Aime Zambonelli,

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Eccezioni Le eccezioni sono situazioni di errore che possono essere generate e gestite dal vostro programma a run-time Quando viene

Dettagli

GESTIONE DEGLI ERRORI

GESTIONE DEGLI ERRORI GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori

Dettagli

GESTIONE DEGLI ERRORI

GESTIONE DEGLI ERRORI GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori

Dettagli

Gestione degli Errori in Java. Emilio Di Giacomo e Walter Didimo

Gestione degli Errori in Java. Emilio Di Giacomo e Walter Didimo Gestione degli Errori in Java Emilio Di Giacomo e Walter Didimo Errori in fase di esecuzione Un programma può contenere o generare errori in fase di esecuzione, di varia natura: errori di robustezza: dovuti

Dettagli

Java fornisce una ricca gerarchia di classi di eccezioni: Object

Java fornisce una ricca gerarchia di classi di eccezioni: Object Java fornisce una ricca gerarchia di classi di eccezioni: Object +----Throwable +----Error +----VirtualMachineError... +----Exception +----RuntimeException +----ArithmeticException +----IndexOutOfBoundsException

Dettagli

RETI DI CALCOLATORI Linguaggio Java: Eccezioni

RETI DI CALCOLATORI Linguaggio Java: Eccezioni Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI RETI DI CALCOLATORI Linguaggio Java: Eccezioni Prof. Franco Zambonelli Lucidi realizzati in collaborazione

Dettagli

Progettazione del Software

Progettazione del Software Università di Roma La Sapienza, Facoltà di Ingegneria Corso di Progettazione del Software Corso di Laurea in Ingegneria Gestionale Prof. Toni Mancini & Prof. Monica Scannapieco AUTOV.Java.4 Nozioni Preliminari

Dettagli

Inizializzare oggetti

Inizializzare oggetti Inizializzare oggetti Uso della Classe Software per TLC - AA 2008/2009 1 Costruttori e polimorfismo Uso della Classe Un codice migliore Software per TLC - AA 2008/2009 2 Costruttori ed Ereditarietà Output:

Dettagli

Eccezioni per codificare errori. Eccezioni. Gestione di eccezioni. lancio di eccezioni. checked e unchecked. cattura di eccezioni

Eccezioni per codificare errori. Eccezioni. Gestione di eccezioni. lancio di eccezioni. checked e unchecked. cattura di eccezioni Eccezioni Eccezioni per codificare errori lancio di eccezioni Eccezioni user defined checked e unchecked Gestione di eccezioni cattura di eccezioni Gestione degli errori Approccio tradizionale: codifica

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software Programmazione in Java (3) Le eccezioni Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di R o m a Anno

Dettagli

LE ECCEZIONI. Dott. Riccardo Zese.

LE ECCEZIONI. Dott. Riccardo Zese. LE ECCEZIONI Dott. Riccardo Zese riccardo.zese@unife.it Che cosa sono le eccezioni In un programma si possono generare situazioni critiche che provocano errori. Non è però accettabile, soprattutto in applicazioni

Dettagli

Programmazione a Oggetti. Eccezioni

Programmazione a Oggetti. Eccezioni Programmazione a Oggetti Eccezioni Sommario Eccezioni Generalità, motivazioni Eccezioni in Java Sollevamento Cattura Trattamento Eccezioni I programmi spesso si trovano ad operare in condizioni anomale:

Dettagli

Gli errori nei programmi si verificano Quello che è realmente importante è: cosa fare dopo che un errore si è verificato?

Gli errori nei programmi si verificano Quello che è realmente importante è: cosa fare dopo che un errore si è verificato? Il linguaggio Java Le eccezioni Shit happens! Gli errori nei programmi si verificano Quello che è realmente importante è: cosa fare dopo che un errore si è verificato? Le eccezioni 2 Eccezione Eccezione

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER

Dettagli

Eccezioni. Corso di Tecniche di Programmazione

Eccezioni. Corso di Tecniche di Programmazione Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Eccezioni Corso di Tecniche di Programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

Dettagli

Concetti Base Eccezioni Eccezioni e Metodi Gerarchia di Eccezioni. Java: Eccezioni. Damiano Macedonio

Concetti Base Eccezioni Eccezioni e Metodi Gerarchia di Eccezioni. Java: Eccezioni. Damiano Macedonio Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica lezione del 30 maggio 2014 Introduzione Un programma diviso in sezioni distinte Un approccio alla

Dettagli

Note ed esercizi aggiuntivi

Note ed esercizi aggiuntivi Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini ed esercizi aggiuntivi Gli esercizi proposti sono utili per rivedere gli esempi riportati, che sono stati sviluppati e discussi

Dettagli

Le eccezioni in Java

Le eccezioni in Java Le eccezioni in Java Corso di laurea in 1 Eccezioni L istruzione try/catch La propagazione dell eccezioni Intercettare e gestire eccezioni 2 Eccezioni in breve Un eccezione è un oggetto che descrive una

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi

Dettagli

Esercitazione 2. Java:

Esercitazione 2. Java: Esercitazione 2 Java: Eccezioni @andreamocci Casi Eccezionali (1) /* * Produce un numero complesso a partire dalla sua forma polare */ public static Complex frompolarform(double abs, double phase) { /*

Dettagli

GESTIONE DEGLI ERRORI. Il gestore delle eccezioni

GESTIONE DEGLI ERRORI. Il gestore delle eccezioni Il gestore delle eccezioni GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori. L approccio classico consiste nell inserire controlli (if else..) per cercare

Dettagli

Le eccezioni in Java

Le eccezioni in Java Eccezioni 1 Le eccezioni in Java i tipi di eccezione sono particolari classi che contengono solo il costruttore ci possono essere più costruttori overloaded sono definite in moduli separati da quelli che

Dettagli

ASD: Sistemi Distribuiti (Prof. Scarano) 24/04/2002

ASD: Sistemi Distribuiti (Prof. Scarano) 24/04/2002 Organizzazione della lezione 8. Java: Eccezioni e Thread Vittorio Scarano Algoritmi e Strutture Dati: Sistemi Distribuiti Corso di Laurea in Informatica Università degli Studi di Salerno Le eccezioni come

Dettagli

Gestione delle eccezioni

Gestione delle eccezioni Gestione delle eccezioni Raffaella Brighi, a.a. 2007/08 Ereditarietà Corso di Algoritmi e programmazione. A.A. 2007-08 CdL Operatore Informatico Giuridico. Casi di insuccesso Vi sono numerosi problemi

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale OOP: I/O da/su File e Java Exceptions Prof. Stefano Mariani Dott. Alket Cecaj Indice I/O da/su file: java.io e java.nio BufferedReader

Dettagli

8. Java: Eccezioni e Thread

8. Java: Eccezioni e Thread 8. Java: Eccezioni e Thread Vittorio Scarano Algoritmi e Strutture Dati: Sistemi Distribuiti Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Le eccezioni motivazioni

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

Dal libro di Savitch & Carrano

Dal libro di Savitch & Carrano Dal libro di Savitch & Carrano Un eccezione (exception) è un oggetto che segnala l accadere di un evento anomalo durante l esecuzione di un metodo. Il processo di creazione di quest oggetto (cioè di generazione

Dettagli

Esercitazione. Docente Ing. Mariateresa Celardo

Esercitazione. Docente Ing. Mariateresa Celardo Esercitazione Docente Ing. Mariateresa Celardo mariateresa.celardo@uniroma2.it Scrivere la classe Motorino che ha i seguenti attributi colore: una stringa indicante il colore del motorino, velocità: un

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012

Programmazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 20 febbraio 2012 TEMPO DISPONIBILE: 1 ora Negli

Dettagli

Il linguaggio Java. Le eccezioni

Il linguaggio Java. Le eccezioni Il linguaggio Java Le eccezioni Eccezioni Definizione: evento eccezionale che si verifica durante l esecuzione di un programma e che ne altera il normale flusso di esecuzione Situazioni che causano eccezioni

Dettagli

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona ed ed Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario ed scrittura su in Java ed ed di testo Scrivere stringhe su di testo

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Gestione degli errori Eccezioni Categorie di eccezioni checked unchecked Gestione delle eccezioni Clausola throws Costrutto try

Dettagli

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Ingegneria del software A Input/output (in Java) Michele Tomaiuolo Eccezione Un eccezione è

Dettagli

Gestione delle Eccezioni

Gestione delle Eccezioni Gestione delle Eccezioni Condizioni di Errore Una condizione di errore in un programma può avere molte cause Errori di programmazione Divisione per zero, cast non permesso, accesso oltre i limiti di un

Dettagli

OOP: L13: Eccezioni e loro trattamento in Java

OOP: L13: Eccezioni e loro trattamento in Java Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica A. Acc. 2005/2006 Programmazione Orientata agli Oggetti OOP: L13: Eccezioni e loro trattamento

Dettagli

III Appello - 4 giugno 2009

III Appello - 4 giugno 2009 Corso di laurea in Comunicazione digitale Fondamenti di architettura e programmazione AA 2008/09 III Appello - 4 giugno 2009 Cognome Matricola Nome 1 (4 punti) Scrivete il programma Java, Esercizio, che

Dettagli

public double getraggio() restituisce la lunghezza del raggio del cerchio che esegue il metodo.

public double getraggio() restituisce la lunghezza del raggio del cerchio che esegue il metodo. Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 7 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40

Dettagli

Eccezioni e Thread (cenni)

Eccezioni e Thread (cenni) Eccezioni e Thread (cenni) Linguaggi di Programmazione: Paradigmi di Programmazione (Sperimentazioni) Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149

Dettagli

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A Gestione delle eccezioni in Java

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A Gestione delle eccezioni in Java Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it - lezione 15 - Gestione delle eccezioni

Dettagli

Programmazione. Cognome... Nome... Matricola... Compitino del 17 gennaio 2007

Programmazione. Cognome... Nome... Matricola... Compitino del 17 gennaio 2007 Cognome............................. Nome................................ Programmazione Compitino del 17 gennaio 2007 Matricola............................ NOTA: Negli esercizi 1, 2, 3, 4 fate riferimento

Dettagli

Introduzione. Java. Errori. Errori

Introduzione. Java. Errori. Errori Java gestire gli errori con le eccezioni G. Prencipe prencipe@di.unipi.it Introduzione La filosofia generale di Java è che un programma con errori non deve girare Una grossa parte viene fatta (come avete

Dettagli

Gestione degli errori

Gestione degli errori Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it - lezione 11 - Gestione delle eccezioni

Dettagli

Eccezioni. Programmazione in rete e laboratorio Eccezioni. Classi eccezioni

Eccezioni. Programmazione in rete e laboratorio Eccezioni. Classi eccezioni Programmazione in rete e laboratorio 2004-05 Alberto Martelli Eccezioni Eccezioni Eccezioni: meccanismo per trattare condizioni eccezionali - divisione per zero - indice di array fuori dai limiti - errori

Dettagli

COGNOME NOME MATRICOLA DATA

COGNOME NOME MATRICOLA DATA COGNOME NOME MATRICOLA DATA 1. Scrivere la classe Distributore che ha i seguenti attributi marca: una stringa indicante la marca del distributore, numeropezzi un intero indicante il numero totale dei pezzi

Dettagli

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione I - corso B a.a prof. Viviana Bono Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi

Dettagli

Le eccezioni in Java

Le eccezioni in Java Eccezioni 1 Le eccezioni in Java i tipi di eccezione sono particolari classi che contengono solo il costruttore ci possono essere più costruttori overloaded sono definite in moduli separati da quelli che

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER

Dettagli

Programmazione. Cognome... Nome... Matricola... Compitino del 26 gennaio 2009

Programmazione. Cognome... Nome... Matricola... Compitino del 26 gennaio 2009 Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 26 gennaio 2009 NOTA: Negli esercizi 1, 2, 3, 4 fate

Dettagli

Gestione delle Eccezioni

Gestione delle Eccezioni Gestione delle Eccezioni C. Horstmann Fondamenti di programmazione e Java 2 3^ edizione Apogeo trad. Nicola Fanizzi corso di Programmazione, CdS: Informatica TPS Dip. di Informatica, Università degli studi

Dettagli

Università Ca Foscari DAIS. Programmazione ad Oggetti. Esame del modulo 1

Università Ca Foscari DAIS. Programmazione ad Oggetti. Esame del modulo 1 Università Ca Foscari DAIS Programmazione ad Oggetti Esame del modulo 1 Nome: Matricola: Samuel Rota Bulò, a.a. 2012/2013 Programmazione ad Oggetti a.a. 2012/2013 Esame del modulo 1 Nome: Samuel Rota Bulò

Dettagli

PROGRAMMAZIONE 2 6a. Eccezioni in Java

PROGRAMMAZIONE 2 6a. Eccezioni in Java PROGRAMMAZIONE 2 6a. Eccezioni in Java 1 Generazione di errori Un metodo può richiedere che gli argomenti attuali soddisfino determinate precondizioni per procedere nell esecuzione o m(list L) con L non

Dettagli

Introduzione alla programmazione con linguaggio Java {Dott.ssa E. Calabresu, Dr. M. Carta, Ing. M. Ennas, Ing. S. Piras, Ing. F.

Introduzione alla programmazione con linguaggio Java {Dott.ssa E. Calabresu, Dr. M. Carta, Ing. M. Ennas, Ing. S. Piras, Ing. F. Introduzione alla programmazione con linguaggio Java 2004 {Dott.ssa E. Calabresu, Dr. M. Carta, Ing. M. Ennas, Ing. S. Piras, Ing. F. Saba } Note di Copyright Queste trasparenze (slide) sono coperte dalle

Dettagli

Gestione delle eccezioni

Gestione delle eccezioni Gestione delle eccezioni Condizioni di Errore Una condizione di errore in un programma può avere molte cause Errori di programmazione Divisione per zero, cast non permesso, accesso oltre i limiti di un

Dettagli

Package. Corso di Linguaggi di Programmazione ad Oggetti 1 A.A. 2003/04. A cura di Gianmaria Mancosu

Package. Corso di Linguaggi di Programmazione ad Oggetti 1 A.A. 2003/04. A cura di Gianmaria Mancosu Package Corso di Linguaggi di Programmazione ad Oggetti 1 A.A. 2003/04 A cura di API Application Programming Interface Slide 2 I vecchi linguaggi (Pascal, C, FORTRAN) permettono di raccogliere le funzioni

Dettagli

Prova d Esame Compito A

Prova d Esame Compito A Prova d Esame 19.04.2005 Compito A Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private int counter;

Dettagli

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura: Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata

Dettagli

"Programmazione Distribuita" - Prof. Scarano. Laurea in Informatica. A.A Università di Salerno 1. Organizzazione della lezione

Programmazione Distribuita - Prof. Scarano. Laurea in Informatica. A.A Università di Salerno 1. Organizzazione della lezione Lezione 8 Eccezioni e Thread Vittorio Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Programmazione Distribuita. Vi.ttorio Organizzazione della

Dettagli

Le eccezioni. Eccezioni

Le eccezioni. Eccezioni Le eccezioni Che cosa sono le eccezioni In un programma si possono generare situazioni critiche che provocano errori Non è però accettabile, soprattutto in applicazioni complesse, che un qualunque errore

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java : Conclusioni versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Soluzione della prova scritta del 5 febbraio 2013

Soluzione della prova scritta del 5 febbraio 2013 Corso di Programmazione Anno Accademico 2012 2013 Prof. Giovanni Pighizzini della prova scritta del 5 febbraio 2013 Questo documento discute un esempio di soluzione di alcuni esercizi assegnati. Naturalmente

Dettagli

Gestione delle eccezioni

Gestione delle eccezioni Gestione delle eccezioni Gestione di errori e situazioni eccezionali Una procedura (utente o di libreria) deve poter segnalare l impossibilità di produrre un risultato significativo o la propria terminazione

Dettagli

Note ed esercizi aggiuntivi

Note ed esercizi aggiuntivi Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini ed esercizi aggiuntivi 16. Stream di I/O Esempio. Visualizza sul monitor il contenuto di un file di caratteri. int i; while ((i

Dettagli

CloneNotSupportedException clone() Object clone() protected native Object clone() throws CloneNotSupportedException this

CloneNotSupportedException clone() Object clone() protected native Object clone() throws CloneNotSupportedException this Clonazione Importante esempio di eccezione controllata è CloneNotSupportedException che può essere lanciata dal metodo nativo clone() della classe Object. La dichiarazione di clone() è la seguente: protected

Dettagli

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo. Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 21 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40

Dettagli

Il linguaggio Java. Le eccezioni

Il linguaggio Java. Le eccezioni Il linguaggio Java Le eccezioni Shit happens! Gli errori nei programmi si verificano Quello che è realmente importante è: cosa succede dopo che un errore si è verificato? TIGA 2 Eccezione Un'eccezione

Dettagli

Informatica Ereditarietà Java. Ereditarietà

Informatica Ereditarietà Java. Ereditarietà Ereditarietà L'ereditarietà consente allo sviluppatore di riutilizzare il codice già scritto creando sottoclassi a partire da classi già definite. La sottoclasse eredita tutti gli attributi e tutti i metodi

Dettagli

Lezione 8 Eccezioni e Thread

Lezione 8 Eccezioni e Thread Lezione 8 Eccezioni e Thread Vittorio Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Organizzazione della lezione Le eccezioni motivazioni come

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA9 B3.1 Mutua esclusione 1 Prerequisiti Programmazione concorrente Sezione critica Mutua esclusione lock() e unlock() 2 1 Introduzione Si considerino le seguenti situazioni

Dettagli

COGNOME NOME MATRICOLA DATA

COGNOME NOME MATRICOLA DATA COGNOME NOME MATRICOLA DATA 1. Scrivere la classe Automobile che ha i seguenti attributi colore: una stringa indicante il colore dell automobile, velocità: un numero con la virgola indicante la velocità

Dettagli

Overloading - Overriding

Overloading - Overriding 1 Overloading - Overriding Overloading: Funzioni con uguale nome e diversa firma possono coesistere. move(int dx, int dy) move(int dx, int dy, int dz) Overriding: Ridefinizione di una funzione in una sottoclasse

Dettagli

JAVA GENERICS. Angelo Di Iorio Università di Bologna

JAVA GENERICS. Angelo Di Iorio Università di Bologna JAVA GENERICS Angelo Di Iorio Università di Bologna Tipi parametrici In diversi casi è utile definire classi che operano su tipi di dato diverso e implementano un comportamento comune e indipendente dal

Dettagli

Eccezioni. Gestione degli errori. Eccezioni per codificare errori. Eccezioni. Gestione di eccezioni. Approccio tradizionale: Problemi

Eccezioni. Gestione degli errori. Eccezioni per codificare errori. Eccezioni. Gestione di eccezioni. Approccio tradizionale: Problemi Eccezioni Eccezioni per codificare errori lancio di eccezioni Eccezioni user defined checked e unchecked Gestione di eccezioni cattura di eccezioni Gestione degli errori Approccio tradizionale: codifica

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

Dettagli

Le eccezioni sono eventi che si generano durante l esecuzione di un programma e in genere corrispondono a condizioni anomale.

Le eccezioni sono eventi che si generano durante l esecuzione di un programma e in genere corrispondono a condizioni anomale. Eccezioni Le eccezioni sono eventi che si generano durante l esecuzione di un programma e in genere corrispondono a condizioni anomale. Es.: divisioni per zero, indici array fuori range, malfunzionamento

Dettagli

{4, 4, 2, 9, 13} {2, 2, 9, 13, 0} {0, 4, 2, 9, 13} {2, 9, 13, 0, 0}

{4, 4, 2, 9, 13} {2, 2, 9, 13, 0} {0, 4, 2, 9, 13} {2, 9, 13, 0, 0} 16181 Nome Cognome A domande a risposta multipla con n scelte, la risposta corretta vale (n-1)/n*difficoltàdomanda, la risposta errata -1/n*difficoltà domanda, la risposta non data. Eseguendo il frammento

Dettagli

Linguaggi di Programmazione I Lezione 10

Linguaggi di Programmazione I Lezione 10 Linguaggi di Programmazione I Lezione 10 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 8 maggio 2008 Array 3 Dichiarazione...........................................................

Dettagli

Telematica II 6. Ereditarieta /Polimorfismo in JAVA

Telematica II 6. Ereditarieta /Polimorfismo in JAVA Files jar quando un applicazione JAVA è composta da molte classi, è possibile raggruppare i files.class in un archivio compresso di estensione.jar (JAVA archive) è possibile distribuire librerie di classi

Dettagli

Gestione di errori e situazioni eccezionali. Gestione delle eccezioni. Gestione tradizionale di errori e situazioni eccezionali (2)

Gestione di errori e situazioni eccezionali. Gestione delle eccezioni. Gestione tradizionale di errori e situazioni eccezionali (2) Gestione di errori e situazioni eccezionali Gestione delle eccezioni Una procedura (utente o di libreria) deve poter segnalare l impossibilità di produrre un risultato significativo o la propria terminazione

Dettagli

Eccezioni Precisazioni e approfondimenti

Eccezioni Precisazioni e approfondimenti Eccezioni Precisazioni e approfondimenti Costruttore: il parametro String definisce il messaggio di errore associato all eccezione Metodi particolarmente significativi getmessage(): ritorna l istanza di

Dettagli