Programmazione ad oggetti
|
|
- Gianpaolo Lupo
- 5 anni fa
- Visualizzazioni
Transcript
1 DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò
2 Eccezioni Le eccezioni sono situazioni di errore che possono essere generate e gestite dal vostro programma a run-time Quando viene lanciata un'eccezione all'interno di un metodo, questo interrompe l'esecuzione del codice e inizia a propagare l'errore lungo lo stack di chiamate a metodo fino a che: L'eccezione viene catturata e gestita Si esce dal main e il programma termina con l'errore tipicamente stampato sullo stream stderr. Miglioramento rispetto a linguaggi vecchi (es: C) dove: gestione errori mediante codici codice errore ritornato al chiamante in qualche modo segnalazione errore passiva propagazione dell'errore macchinosa e poco leggibile
3 Fasi dell'eccezione Lancio in qualche punto del programma viene riconosciuta una situazione di errore e viene lanciata un'eccezione (throw) Cattura l'eccezione viene propagata lungo lo stack delle chiamate finché non si incontra un blocco di gestione eccezioni (exception handler) che cattura (catch) esplicitamente l'eccezione. Gestione una volta catturata vengono presi dei provvedimenti per ristabilire uno stato corretto per riprendere la computazione
4 Lancio delle eccezioni Un'eccezione è un oggetto in Java la cui classe discende dalla classe Throwable es: IllegalArgumentException Prima di poter lanciare un'eccezione l'oggetto che la rappresenta deve essere creato. IllegalArgumentException ex=new IllegalArgumentException( Bad Argument ); Per lanciare un'eccezione e quindi interrompere il normale flusso di esecuzione si usa la sintassi: throw rifoggetto throw ex; o direttamente: throw new IllegalArgumentException( Bad Argument );
5 Gerarchia di eccezioni checked exception unchecked exception
6 Eccezioni checked/unchecked Eccezioni unchecked (non controllate) derivati dalla classe Error errori inattesi, fatali e difficili da gestire es: OutOfMemoryError derivati dalla classe RuntimeException errori inattesi ma gestibili dovuti a cattiva programmazione es: NullPointerException Eccezioni checked (controllate) discendenti dalla classe Exception, ma non da RuntimeException errori prevedibili e gestibili situazioni anomale legate alla logica dell'applicazione o derivanti da condizioni esterne es: IOException
7 Eccezioni checked Le gestioni checked devono essere gestite esplicitamente a differenza delle eccezioni unchecked. Se in un metodo viene lanciata un'eccezione possiamo: catturarla e gestirla nel metodo stesso dichiarare nella firma del metodo che potrebbe venire lanciata quell'eccezione Se nessuna delle due possibilità viene contemplata, allora avremo un errore dal compilatore. Per dichiarare le eccezioni lanciate dal metodo usiamo la sintassi: modaccesso tipo nomemetodo( ) throws TipoExcep1,TipoExcep2,...{; Nel caso delle eccezioni unchecked non abbiamo l'obbligo di questa dichiarazione dal momento che sono legate ad eventi imprevedibili. Non è obbligatorio enumerare tutte le eccezioni che vengono lanciate, ma è sufficiente che per ciascuna vi sia un tipo di eccezione compatibile (supertipo)
8 public class BankAccount{ Esempio //... public void withdraw(double amount) throws InsufficientCreditException{ if(balance>=amount) balance =amount; else throw new InsufficientCreditException( Could not withdraw +amount + since the balance +balance + was insufficient ); public class InsufficientCreditException extends Exception{ public InsufficientCreditException(String message){ super(message); Possiamo definire nuove eccezioni checked estendendo Exception
9 Gestione eccezioni Catturiamo e gestiamo le eccezioni mediate uno speciale costrutto try-catch: //codice che può generare eccezioni catch(exception1 ex1){ //gestione eccezione ex1 di tipo Exception1 catch(exception2 ex2){ //gestione eccezione ex2 di tipo Exception2... se durante l'esecuzioni delle istruzioni del blocco try viene lanciata un'eccezione x di tipo X: se X <: Exception1 allora si entra nel primo blocco catch e ex1:=x è una variabile che riferisce all'eccezione e può essere utilizzata nel blocco se X <: Exception2 allora si entra nel secondo blocco catch e ex2:=x è una variabile che riferisce all'eccezione e può essere utilizzata nel blocco se X non è compatibile con le eccezioni gestite, l'eccezione x viene propagata al chiamante.
10 Gestione eccezioni All'interno di un blocco catch possiamo invocare il metodo printstacktrace() della variabile eccezione (ereditato da Throwable) per vedere in console dove è stato generata l'eccezione e la traccia delle chiamate. I blocchi catch sono valutati in ordine, quindi i sottotipi vanno indicati prima. // viene lanciata un'eccezione di tipo IOException catch(exception e){ System.out.println( A ); catch(ioexception e){ System.out.println( B ); // viene lanciata un'eccezione di tipo IOException catch(ioexception e){ System.out.println( A ); catch(exception e){ System.out.println( B ); COSA STAMPANO?
11 Esempi // viene lanciata un'eccezione di tipo IOException catch(numberformatexception e){ System.out.println( A ); catch(ioexception e){ System.out.println( B ); // viene lanciata un'eccezione di tipo NumberFormatException catch(ioexception e){ System.out.println( A ); catch(exception e){ System.out.println( B ); // viene lanciata un'eccezione di tipo NullPointerException catch(ioexception e){ System.out.println( A ); catch(numberformatexception e){ System.out.println( B ); // viene lanciata un'eccezione di tipo OutOfMemoryError catch(exception e){ System.out.println( A ); catch(ioexception e){ System.out.println( B ); COSA STAMPANO?
12 Eccezioni checked e costruttori I costruttori come i metodi possono dichiarare eccezioni checked nella lista di throws ogni metodo che invoca il costruttore deve gestire l'eccezione o dichiararla nella sua lista di throws se all'interno di un costruttore (a) invochiamo attraverso this o super un altro costruttore (b) che dichiara delle eccezioni allora: non abbiamo modo di gestire le eccezioni di (b) dal momento che this e super devono essere la prima istruzione possiamo solo dichiarare le stesse eccezioni di (b) nella lista di throws del costruttore (a) inizializzatori di campi possono invocare solo metodi che non dichiarano eccezioni.
13 Eccezioni checked e overriding Ogni eccezione dichiarata dal metodo della sottoclasse deve essere sottotipo di almeno una delle eccezioni dichiarate dal metodo nella superclasse Il metodo nella sottoclasse può avere una lista di throws: con meno eccezioni con eccezioni più specializzate (sottotipi)
14 Clausola finally Il blocco try-catch può essere esteso aggiungendo un ulteriore blocco finally alla fine. Possiamo anche avere un blocco try-finally senza catch. Il codice nel blocco finally verrà eseguito all'uscita del blocco try-catch indipendentemente da cosa accada nel blocco try (eccezioni lanciate o meno) //codice che può generare eccezioni catch(exceptiontype ex){ //gestione eccezione ex1 di tipo Exception1 finally{ //codice da eseguire sempre
15 Esempio File f=new File(filename); Scanner in=new Scanner(f);... f.close(); //non eseguito se viene lanciata un'eccezione prima catch(ioexception e){... File f=new File(filename); Scanner in=new Scanner(f);... catch(ioexception e){... finally{ f.close(); //eseguito sempre
16 Clausola finally Eseguita all'uscita del blocco try-catch con 3 scenari possibili: dopo ultimo comando del blocco try (no eccezioni lanciate) dopo ultimo comando del blocco catch in cui un'eccezione è stata catturata (eccezione gestita) dopo il lancio di un'eccezione non catturata finally deve essere l'ultimo blocco nel costrutto try-catch.
17 Tipi di gestione eccezioni Propagazione automatica: non gestiamo l'eccezione ma aggiungiamo la dichiarazione di eccezione nella lista di throws Riflessione: catturiamo l'eccezione in un blocco try-catch gestiamo parzialmente l'errore rilanciamo la stessa o altra eccezione dichiarandola nella lista di throws Mascheramento: catturiamo l'eccezione in un blocco try-catch esternamente al metodo il sollevamento dell'eccezione non viene notificato
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
DettagliGestione 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
DettagliProgrammazione 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:
DettagliProgrammazione 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
DettagliEccezioni. 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
DettagliEccezioni 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
DettagliGestione 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
DettagliLaboratorio 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
DettagliJava 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
DettagliDal 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
DettagliIl 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
Dettagli19 - 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
DettagliFondamenti 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
DettagliLE 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
DettagliEccezioni. 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
DettagliInsegnamento 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
DettagliFONDAMENTI 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,
DettagliOCA 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
DettagliProgettazione 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
DettagliGestione 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
DettagliIl 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
DettagliGestione 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
DettagliProgrammazione 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:
DettagliEccezioni 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
DettagliLe 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
DettagliGestione delle eccezioni Individuazione e ripristino parseint Individuazione e ripristino Individuazione e ripristino parseint
parseint parseint showinputdialog JOptionPanenull null throw BankAccount IllegalArgumentException amount public class BankAccount { public void withdraw(double amount) { if (balance < amount) { // Parametro
DettagliIntroduzione. 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
DettagliEccezioni 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
DettagliGESTIONE 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
DettagliGestire 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
DettagliGestione delle Eccezioni
Gestione delle Eccezioni Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni 1 Introduzione al concetto di eccezioni E possibile definire un eccezione come un situazione imprevista
Dettagli8. 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
DettagliASD: 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
DettagliRETI 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
DettagliLe 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
DettagliGestione delle eccezioni. 10/12/2004 Laboratorio di Programmazione - Luca Tesei 1
Gestione delle eccezioni 10/12/2004 Laboratorio di Programmazione - Luca Tesei 1 Individuazione e ripristino Nei programmi possono verificarsi errori e situazioni impreviste Esempi: Si cerca di accedere
DettagliGestione delle eccezioni
Gestione delle eccezioni Casi eccezionali vs Casi previsti Eccezioni Eccezioni controllate e non controllate Gestione delle eccezioni try-catch-finally Esempi 1 Individuazione e ripristino Nei programmi
DettagliOOP: 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
DettagliLe 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
DettagliLaboratorio 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
DettagliGestione 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
DettagliInizializzare 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:
DettagliProgrammazione ad oggetti
DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Ereditarietà E' un meccanismo per estendere le funzionalità di una classe con nuovi campi e nuovi metodi Chiamiamo superclasse:
DettagliGestione 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
DettagliLinguaggi 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
DettagliUniversità 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ò
DettagliLezione 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
DettagliIntroduzione 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"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
DettagliGESTIONE 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
DettagliEccezioni. 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
DettagliGestione 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
DettagliGestione 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
DettagliGestione 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
DettagliEccezioni 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,
DettagliIndividuazione e ripristino. Gestione delle eccezioni. Individuazione e ripristino. Individuazione e ripristino. Eccezioni. Segnalazione di errore
Individuazione e ripristino Gestione delle eccezioni Nei programmi possono verificarsi errori e situazioni impreviste Esempi: Si cerca di accedere tramite il metodo get a un elemento di un oggetto ArrayList
DettagliGestione delle eccezioni. Individuazione e ripristino. Individuazione e ripristino. Individuazione e ripristino
Gestione delle eccezioni Individuazione e ripristino Casi eccezionali vs Casi previsti Eccezioni Eccezioni controllate e non controllate Gestione delle eccezioni try-catch-finally Esempi Nei programmi
DettagliProgrammazione 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
DettagliEccezioni. 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
DettagliCloneNotSupportedException 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
DettagliEsercitazione 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) { /*
DettagliGestione 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
DettagliConcetti 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
DettagliLa gestione delle eccezioni
La gestione delle eccezioni La gestione delle eccezioni Le eccezioni sono eventi che accadono in fase di esecuzione di un programma al verificarsi di una situazione anomala, come la divisione per 0, l'uso
DettagliCapitolo 11 Ingresso/uscita e gestione delle eccezioni. Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione
Capitolo 11 Ingresso/uscita e gestione delle eccezioni Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione Obiettivi del capitolo Essere in grado di leggere e scrivere file di
DettagliProgrammazione 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à
DettagliPROGRAMMAZIONE 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
DettagliProgrammazione a oggetti
Programmazione a oggetti Quanti oggetti, tra di loro parlando, fanno programmi. Pilu Crescenzi piluc@dsi.unifi.it Università di Firenze Programmazione a oggetti p.1/32 Cosa è un oggetto Una scatola software
DettagliUniversità 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ò
DettagliBank account. private double balance; 11/2/2011
Il Linguaggio Java Ereditarietà Bank account class BankAccount { public BankAccount() { balance = 0; } public void deposit(double amount) { balance += amount; } public void withdraw(double amount) { balance
DettagliConcetti principali Ereditarietà e (overriding) di metodi. Ereditarietà e costruttori Livelli di accesso protected e package La classe Object
Ereditarietà Concetti principali Ereditarietà e (overriding) di metodi Dynamic dispatch e polimorfismo Ereditarietà e costruttori Livelli di accesso protected e package La classe Object metodi tostring,
DettagliProgrammazione. 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
DettagliIntroduzione a Java. Giovanni Pardini. Dipartimento di Informatica Università di Pisa. 4 Java. Sommario. Iteratori.
Introduzione a Java 4 Giovanni Pardini pardinig@di.unipi.it Dipartimento di Informatica Università di Pisa 13 dicembre 2009 1 2 3 4 1 2 3 4 Un iteratore permette di iterare, in modo astratto, sugli elementi
DettagliPROGRAMMAZIONE 2 6b. Le eccezioni, operazionalmente
PROGRAMMAZIONE 2 6b. Le eccezioni, operazionalmente PR2 2017-2018 1 class { public void via( ) { primo( ); System.out.println( sei al via ); } public void primo( ) { secondo( ); System.out.println( sei
DettagliProgrammazione ad oggetti
DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Programmazione polimorfa Immaginiamo di voler creare una classe Stack. Il funzionamento di uno stack può essere definito indipendentemente
DettagliProgettazione By Contract
Progettazione By Contract Documentazione di progetto Contratti per i metodi Correttezza dell implementazione invarianti per le classi Verifica asserzioni Eccezioni Progettazione By Contract Contratti per
DettagliPackage. 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
DettagliGestione 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
DettagliScelte. Costrutto condizionale. Il costrutto if. Il costrutto if. Rappresentazione con diagramma a blocchi. Il costrutto if
Scelte Costrutto condizionale Scelte, blocchi Fino ad ora il corpo dei metodi che abbiamo scritto aveva solo un modo di essere eseguito: in sequenza dalla prima istruzione all ultima In applicazioni non
DettagliLe 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
DettagliCapitolo 7 Un primo sguardo agli oggetti Schema e valori Elementi di classe e d istanza
I Sommario Prefazione xiii Capitolo 1 Introduzione alla programmazione 1 1.1 Hardware e software......................... 1 1.2 La programmazione......................... 4 1.2.1 I paradigmi di programmazione...............
DettagliGestire le situazioni di errore
Gestire le situazioni di errore #include using namespace std; Classe VettoreDiInteri const int MAX = 10; class VettoreInteri { int v[max]; public: ; Gestire le situazioni di errore Ottenere
DettagliGerarchia delle classi Classi astratte Interfacce (Eccezioni) Laboratorio di Programmazione - Esercitazio 1
Gerarchia delle classi Classi astratte Interfacce (Eccezioni) Laboratorio di Programmazione - Esercitazio 1 Gerarchia delle classi Una sottoclasse eredita metodi, variabili, etc. dalla superclasse... Per
DettagliPrincipi di Progettazione del Software a.a
Principi di Progettazione del Software a.a. 2017-2018 Fondamenti di Java Ing. Obiettivi della lezione Introduzione alla programmazione Object Oriented Ereditarietà Polimorfismo Interfacce Eccezioni 2 1
DettagliPrincipi di Progettazione del Software. Principi di Progettazione del Software a.a
Principi di Progettazione del Software a.a. 2016-2017 Fondamenti di Java Ing. Principi di Progettazione del Software https://twitter.com/rvergallo 2 1 Obiettivi della lezione Introduzione alla programmazione
DettagliEreditarietà. Unità 9. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliJAVA Gestione delle eccezioni e Programmazione concorrente
JAVA Gestione delle eccezioni e Programmazione concorrente Andrea BEI (andrea.bei@libero.it) Gestione delle eccezioni Un eccezione è un evento generato in un applicazione in circostanze eccezionali (es:
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione su XML: Strato di Persistenza versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi
DettagliProgrammazione. 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
DettagliProgrammazione in Java (I modulo) Lezione 21: Classi derivate e l'operatore instanceof Riscrivere il metodo tostring() Riscrivere il metodo equals()
Programmazione in Java (I modulo) Lezione 21: Classi derivate e l'operatore instanceof Riscrivere il metodo tostring() Riscrivere il metodo equals() Ereditarietà (Inheritance) RIASSUMIAMO DALLA SCORSA
DettagliPolimorfismo parametrico vs polimorfismo per inclusione
Polimorfismo parametrico vs polimorfismo per inclusione Esercizio Definire il tipo di dato Stack con operazioni Push( element ) Pop() Non forzare una specifica implementazione Non forzare un tipo specifico
DettagliServer Sequenziale. Server Concorrente. Esercitazione: Socket Java con connessione
Esercitazione: Socket Java con connessione Sviluppare un applicazione C/S che effettui il trasferimento di un file dal client al server (put) usando una connessione. In particolare nel servizio: il client
DettagliLezione 14 Gestione delle eccezioni
Lezione 14 Gestione delle eccezioni Per ottenere programmi robusti ed affidabili, non è sufficiente scrivere del codice che funzioni soltanto in condizioni normali: bisogna anche saper prevedere e gestire
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
DettagliPROGRAMMARE IN JAVA Volume I
Graziano Frosini PROGRAMMARE IN JAVA Volume I INTRODUZIONE ALLA PROGRAMMAZIONE PROGRAMMAZIONE A OGGETTI INGRESSO/USCITA GENERICI THREAD Edizioni ETS www.edizioniets.com Copyright 2007 EDIZIONI ETS Piazza
DettagliUguaglianza e copia di oggetti
Uguaglianza e copia di oggetti Sommario 1. Classi Object e Class 2. Uguaglianza superficiale e uguaglianza profonda 3. Copia superficiale e copia profonda 4. Uguaglianza e copia in classi derivate 1 La
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni
Dettagli