Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
|
|
- Mariano Cuomo
- 7 anni fa
- Visualizzazioni
Transcript
1 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011
2 Sommario Eccezioni Categorie di eccezioni checked unchecked Gestione delle eccezioni Clausola throws Costrutto try - catch - finally Comando throw
3 Eccezioni
4 Categorie di eccezioni In Java un eccezione è un oggetto ( istanza di una classe derivata daalla classe Throwable) appartenente a due categorie: Istanze della classe java.lang.exception e sue sottoclassi; Istanze della classe java.lang.runtimeexception e sue sottoclassi; Il compilatore Java considera le istanze della classe java.lang.exception come eccezioni checked (controllate), mentre le istanze della classe java.lang.runtimeexception come unchecked (non controllate). 4
5 Categorie di eccezioni Il compilatore Java considera la prima famiglia di eccezioni, dette checked, in modo differente dalle altre due, dette unchecked. Le eccezioni checked vengono controllate dal compilatore (per questo si chiamano così), pertanto il compilatore si aspetta che nel corpo del metodo ci sia costrutto try/catch o che, nella signature del metodo, ci sia una clausola throws dello stesso tipo di eccezione lanciata o di una sua superclasse. Se ciò non avviene si incorre in un errore di compilazione! Le eccezioni unchecked sono libere da costrizioni programmative: esse possono essere lanciate ovunque e, se non gestite, si propagano nello stack delle chiamate fino a causare la terminazione del programma. 5
6 Gestione delle eccezioni
7 Gestione delle eccezioni
8 package provaeccezioni; Gestione delle eccezioni import java.io.bufferedreader; import java.io.inputstreamreader; public class quad1 { /** args */ public static void main(string[] args) { // TODO Auto-generated method stub InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); int d; do{ System.out.print("Dammi un intero (0 per terminare): "); d=integer.parseint(tastiera.readline()); System.out.println("Il quadrato di " + d + " e': " + (d*d) + "."); while(d!= 0); System.out.println("Bye bye...");
9 package provaeccezioni; Gestione delle eccezioni import java.io.bufferedreader; import java.io.inputstreamreader; public class quad1 { /** args */ public static void main(string[] args) { // TODO Auto-generated method stub InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); int d; do{ System.out.print("Dammi un intero (0 per terminare): "); d=integer.parseint(tastiera.readline()); System.out.println("Il quadrato di " + d + " e': " + (d*d) + "."); while(d!= 0); System.out.println("Bye bye..."); Se si tenta di compilare questo programma ci verrà segnalato che manca la gestione di IOException (checked)
10
11
12 La clausola throws import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstreamreader; public class quad1 { public static void main(string[] args) throws NumberFormatException, IOException { // TODO Auto-generated method stub InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); int d; do{ System.out.print("Dammi un intero (0 per terminare): "); d=integer.parseint(tastiera.readline()); System.out.println("Il quadrato di " + d + " e': " + (d*d) + "."); while(d!= 0); System.out.println("Bye bye...");
13 import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstreamreader; public class quad1 { /** args IOException NumberFormatException */ public static void main(string[] args) throws NumberFormatException, IOException { // TODO Auto-generated method stub InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); int d; do{ System.out.print("Dammi un intero (0 per terminare): "); d=integer.parseint(tastiera.readline()); System.out.println("Il quadrato di " + d + " e': " + (d*d) + "."); while(d!= 0); System.out.println("Bye bye..."); la clausola throws serve a dichiarare che in questo metodo potrebbero essere sollevate delle eccezioni di cui ne viene demandata la gestione al chiamante del metodo(in questo modo viene data al chiamante la possibilità di catturare e gestire l eccezione oppure di inoltrarla nuovamente al chiamante).
14
15 Se durante l'esecuzione sbagliato, viene lanci un'eccezione che ver JVM che manderà un
16 Il messaggio mostra la stringa di input che la linea di codice in cu
17 Per evitare che il programma si interrompa possiamo provare a racchiudere il comando di input in un blocco try-catch:
18 Il costrutto try - catch package provaeccezioni; import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstreamreader; public class quad2 { /** args IOException NumberFormatException */ public static void main(string[] args) throws NumberFormatException, IOException { // TODO Auto-generated method stub InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); int d; try{ do{ System.out.print("Dammi un intero (0 per terminare): "); d=integer.parseint(tastiera.readline()); System.out.println("Il quadrato di " + d + " e': " + (d*d) + "."); while(d!= 0); System.out.println("Bye bye..."); catch(numberformatexception e){ System.out.println("Eccezione: " + e);
19 Il costrutto try - catch Il blocco try contiene un insieme di istruzioni che potrebbero generare eccezioni, se durante l'esecuzione una delle istruzioni genera un'eccezione, il flusso di esecuzione si interrompe, e la gestione passa al blocco catch incaricato di gestire l'eccezione sollevata. Il blocco catch specifica quale eccezione si desidera gestire e quali istruzioni eseguire. E' possibile ripetere più volte il blocco catch, in modo da permettere una gestione differenziata delle eccezioni generate dal blocco try. Nell esempio riportato il compilatore prova (try) ad eseguire il blocco di istruzioni dopo la parola chiave try e se incontra un input non corretto lancia l eccezione e si ferma!
20
21 Per evitare questo comportamento (il blocco del l esecuzione del programma) dobbiamo fare diversamente! Ad esempio possiamo racchiudere il try-catch in un blocco do while:
22 package provaeccezioni; import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstreamreader; public class qaud3 { /** args IOException NumberFormatException */ public static void main(string[] args) throws NumberFormatException, IOException { // TODO Auto-generated method stub InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); int d=0; boolean erroreformato=false; do{ erroreformato=false; try{ System.out.print("Dammi un intero (0 per terminare): "); d=integer.parseint(tastiera.readline()); System.out.println("Il quadrato di " + d + " e': " + (d*d) + "."); catch(numberformatexception e){ System.out.println("Eccezione: " ); erroreformato=true; while(d!= 0 erroreformato); System.out.println("Bye bye...");
23 package provaeccezioni; import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstreamreader; public class qaud3 { /** args IOException NumberFormatException */ public static void main(string[] args) throws NumberFormatException, IOException { // TODO Auto-generated method stub InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); int d=0; boolean erroreformato=false; do{ erroreformato=false; try{ System.out.print("Dammi un intero (0 per terminare): "); d=integer.parseint(tastiera.readline()); System.out.println("Il quadrato di " + d + " e': " + (d*d) + "."); catch(numberformatexception e){ System.out.println("Eccezione: " ); erroreformato=true; while(d!= 0 erroreformato); System.out.println("Bye bye..."); Catturare e gestire le eccezioni è importante: un eccezione non gestita si propaga verso l esterno, di blocco in blocco e se raggiunge il main, provoca l interruzione del programma
24
25 package provaeccezioni; import java.io.bufferedreader; import java.io.inputstreamreader; public class prova6 { public static void main(string args[]) { InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); int d=0, a=0; do{ System.out.println("Inserire a <immettere un numero maggiore di 0>: "); try { a=integer.parseint(tastiera.readline()); catch(exception e1) {System.out.println("errore nell'inserimento di a " ); ; System.out.println("numero inserito: " + a); while (a<=0); booleanerrore=false; do{ errore=false; System.out.println("Inserire d <immettere un numero maggiore di 0>: "); try { d=integer.parseint(tastiera.readline()); catch(exception e2) {System.out.println("errore nell'inserimento di d" );errore=true;; while (errore); System.out.println("numero inserito: " + d); try { a = 42 / d; System.out.println("valore calcolato :"+a); catch (ArithmeticException e) { System.out.println("Divisione per zero");; Altro esempio di gestione delle eccezioni Si distinguono i diversi tipi di eccezioni Si tenta il recupero di situazioni di errore
26 package provaeccezioni; import java.io.bufferedreader; import java.io.inputstreamreader; public class prova6 { public static void main(string args[]) { InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); int d=0, a=0; do{ System.out.println("Inserire a <immettere un numero maggiore di 0>: "); try { a=integer.parseint(tastiera.readline()); catch(exception e1) {System.out.println("errore nell'inserimento di a " ); ; System.out.println("numero inserito: " + a); while (a<=0); booleanerrore=false; do{ errore=false; System.out.println("Inserire d <immettere un numero maggiore di 0>: "); try { d=integer.parseint(tastiera.readline()); catch(exception e2) {System.out.println("errore nell'inserimento di d" );errore=true;; while (errore); System.out.println("numero inserito: " + d); try { a = 42 / d; System.out.println("valore calcolato :"+a); catch (ArithmeticException e) { System.out.println("Divisione per zero");; Importante : la clausola Altro throws esempio non di gestione è presente delle nel eccezioni main in quanto Si distinguono i diversi tipi di eccezioni è presente Si il tenta costrutto il recupero trydi situazioni catch di per errore la gestione delle eccezioni
27 Costrutto try - catch - finally
28 Costrutto try - catch - finally Il costrutto generale per la gestione delle eccezioni ha la seguente forma: try { istruzione1(); istruzione2();... catch(exception1 e1) { // gestione dell'eventuale problema nato nel blocco try catch(exception2 e2) { // gestione dell'eventuale problema nato nel blocco try finally { // codice da eseguire comunque al termine del blocco try La clausola finally contiene un blocco di istruzioni da eseguire comunque dopo il blocco try, sia nel caso esso sia terminato senza problemi, sia nel caso abbia sollevato qualche eccezione.
29 L istruzione throw Fino ad ora abbiamo visto (throws )come delegare la gestione delle eccezioni che potrebbero essere sollevate da un metodo al metodo chiamante oppure (try - catch ) gestire le eccezioni che potrebbero essere sollevate in un metodo all interno del metodo stesso Ora invece vedremo come si opera se si desidera generare un'eccezione in un metodo e in che modo sia possibile creare eccezioni personalizzate per gestire situazioni anomale nei propri programmi. Utilizzeremo come esempio un metodo statico che calcola il fattoriale. Il metodo crea una nuova eccezione nel caso che il parametro di input sia negativo! 29
30 L istruzione throw Le eccezioni possono essere generate con l istruzione throw Solitamente un istruzione throw è inclusa in un istruzione if che valuta una condizione per verificare se deve essere sollevata l eccezione 30
31 L istruzione throw package provaeccezioni; import java.io.*; public class prova7 { static int fattoriale(int n) throws Exception { if(n<0) throw new Exception("Il parametro deve essere positivo"); int f = 1; for (int i=1;i<=n;i++) f = f * i; return f; Importante non confondere: Importante non confondere: la clausola throws che dichiara che il metodo la clausola throws che dichiara che un metodo fattoriale potrebbe generare un eccezione e ne rilancia all esterno un eccezione demanda al chiamante la gestione l istruzione throw che solleva un eccezione l istruzione throw che solleva l eccezione 31
32 L istruzione throw public static void main(string[] args) throws NumberFormatException, IOException, Exception { InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); int d=0; System.out.print("Dammi un intero>0: "); d=integer.parseint(tastiera.readline()); System.out.println("Il fattoriale di " + d + " e': " ); System.out.println(fattoriale(d)); System.out.println("."); la clausola throws dichiara che il metodo main potrebbe generare varie eccezioni e ne demanda al chiamante la gestione 32
33 33
34 Altro esempio package provaeccezioni; import java.io.*; public class prova3 { public static void main(string[] args) throws Exception { InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); int x=0; do{ System.out.print("Immettere un numero maggiore di 0: "); try { x=integer.parseint(tastiera.readline()); catch(exception e) {System.out.println("errore " ); while (x<=0); System.out.println("numero inserito: " + x); if (x==5) throw new Exception("Impossibile usare il valore 5");
35 package provaeccezioni; import java.io.*; public class prova3 { public static void main(string[] args) throws Exception { InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); int x=0; do{ System.out.print("Immettere un numero maggiore di 0: "); try { x=integer.parseint(tastiera.readline()); catch(exception e) {System.out.println("errore " ); while (x<=0); System.out.println("numero inserito: " + x); if (x==5) throw new Exception("Impossibile usare il valore 5"); l istruzione throw che genera un eccezione
36 ..riassumendo Quando un metodo A invoca un metodo B che dichiara con throws di poter lanciare IOException (checked). Chi scrive il metodo A è costretto a fare qualcosa (gestire-odichiarare) con questa IOException. Può mettere in A un try/catch (nel try invoca B e nel catch gestisce la eccezione es.stampa messaggio, log, altro ecc... quello che vuole). Oppure a sua volta dichiarare che A può lanciare IOException. Questo vuol dire che IOException può uscire da B e può anche uscire da A. E in sostanza la regola del gestire-odichiarare semplicemente si è spostata più "sopra" perché chi a sua volta invocherà A si dovrà porre la stessa questione: gestisco o dichiaro. Il throws serve appunto per "forzare" il fatto di dover prendere in considerazione una eccezione checked. Per quelle unchecked non c'è questa regola: non si è obbligati né a dichiararle, né a gestirle. 36
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
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 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,
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
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario La classe String Lettura da input di dati numerici (tipo int) Stampa di dati numerici Uno sguardo al codice Esercizi 21/03/2011 2
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
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzione condizionale switch Istruzioni di salto break e continue Uso di variabili di tipo boolean Variabili di tipo array (monodimensionali)
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
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzioni di controllo Iterative Condizionali Algoritmi e Diagrammi di flusso Esercizi 28/03/2011 2 Istruzioni iterative while do
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
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. 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
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
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 Metodi statici Parametri attuali e formali Passaggio dei parametri Effetti collaterali Metodi statici per Array Esercizi 16/01/2013
DettagliLe 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
Dettagli56789:;<( !"#$%&'%()$(*+$,-../(0!+!( %( %11%2$/&$( .()"+)&%/&+%0,%/+"1+,22,3("'&% 425(&'6&%7(%)8(09//"%:;!<=>%?&)@"'&%7&00&%&AA&3("'(%
!"#$%&'%()$(*+$,-../(0!+!( %( %11%2$/&$(!"#$%!&'()%*&++,+&-%%!"#$%&'"(()("*+,#$'"&$-. 56789:;
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
DettagliLaboratorio 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[]
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
DettagliL input da tastiera in Java. Dott. Ing. M. Banci, PhD
L input da tastiera in Java Dott. Ing. M. Banci, PhD La lettura di un flusso di input in Java avviene attraverso l'oggetto in della classe System. System.in appartiene alla classe InputStream (letteralmente
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
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
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
DettagliEccezioni 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
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 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
DettagliLa gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni
La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.
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
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
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,
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
DettagliEccezioni 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
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
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
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
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:
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 Uso dell ambiente di sviluppo Eclipse API di Java Istruzione di scrittura Istruzione di lettura 16/01/2013 2 Installazione di
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
DettagliJava, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM
Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM ERRATA CORRIGE dei programmi della prima stampa (Aprile 2004) aggiornato al 20/05/2017 Nota: il codice corretto è ottenibile da quella errato
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
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
DettagliInput. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei
Input Il tipo char Alcune modalità di acquisizione di input 1 Lettura di dati in input Vediamo due modi per acquisire dei dati di input dall utente: 1. Tramite una finestra grafica di dialogo 2. Tramite
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
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA1 1.3 - Le strutture di controllo 1 Prerequisiti Istruzioni semplici Strutture di controllo Scittura di semplici applicazioni Java 2 1 Introduzione In molti casi le
DettagliCorso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione
Corso: Fondamenti di Informatica (Gruppo 2) a.a. 2017-18 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab05 Domanda n. 1 Argomento: Iterazioni, array
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
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
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
Dettagli/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); }
import java.util.*; class coda * Questa classe contiene tutti i metodi per la gestione della coda * @author D'Ambrosio Giovanni Classe 4D I.T.I.S. Grottaminarda * @version 26/02/2010 * VETTORE DINAMICO
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
DettagliCifratura simmetrica
Cifratura Cifratura simmetrica Alice canale insicuro Bob 2 Cifratura simmetrica m Algoritmo di decifratura m Alice canale insicuro Algoritmo di cifratura Bob 3 Cifrari simmetrici chiave privata k chiave
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
DettagliIterazioni. L istruzione while. while (condition) istruzione
Iterazioni L istruzione while while (condition) istruzione Ripete l esecuzione di istruzione fino a che la condizione resta vera while (balance < targetbalance) year++; double interest = balance * rate
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione
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
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
DettagliCorso: Fondamenti di Informatica (Canale 5) a.a Corsi di laurea: Ing. Settore Informazione
Domanda n. 1 Corso: Fondamenti di Informatica (Canale 5) a.a. 2016-17 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab10 Argomento: Algoritmi e complessita'
Dettagli7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa
DettagliStringTokenizer: esempio. Lettura di matrici da file. Come procedere? Lettura matrice: esempio - I. La classe StringTokenizer
4 StringTokenizer: esempio Lettura di matrici da file import java.util.*; class prova public static void main(string[] a) String s="ciao a tutti"; StringTokenizer st=new StringTokenizer(s); while(st.hasmoretokens())
DettagliEsercitazione. 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
DettagliProgrammazione in Java. Indipendenza dalla piattaforma. Indipendenza dalla piattaforma. Autore: Roberto Fabbrica Diapo 1.
1 Programmazione in Java Java è un linguaggio di programmazione orientato agli oggetti ed indipendente dalla piattaforma. Orientato agli oggetti: segue i paradigmi della programmazione orientata agli oggetti
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
DettagliGocce di Java. Gocce di Java. Programmazione a oggetti. Pierluigi Crescenzi. Università degli Studi di Firenze
Gocce di Java Programmazione a oggetti Pierluigi Crescenzi Università degli Studi di Firenze Programma: collezione di oggetti che interagiscono tra di loro per mezzo di azioni Cambiando il proprio stato
DettagliLe basi del linguaggio Java
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Le basi del linguaggio Java Aprile 2010 Le basi del linguaggio Java 1 Prerequisiti Nozioni generali sulla sintassi e semantica del
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
DettagliELEMENTI DI PROGETTAZIONE SOFTWARE
ELEMENTI DI PROGETTAZIONE SOFTWARE Massimiliano Redolfi Lezione 7: la fortezza Perché un sistema sia robusto ogni suo componente deve essere robusto. Una semplice metodo public class Main { public static
DettagliProva d Esame 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 static int counter=0; private int code; public
DettagliCorso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 6 (svolta) Java RMI Luca Foschini Anno accademico 2010/2011 Esercitazione 6 1 Specifica: il Client
DettagliProgrammazione orientata agli oggetti La classe Object, metodi e classi final, this. Object
Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza
DettagliProgrammazione distribuita in Java. Socket & Client-Server
Programmazione distribuita in Java Socket & Client-Server 1 Strumenti per networking Libreria java.net Socket (Astrazione per una presa di comunicazione) Serializzazione Socket Per comunicare si apre una
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:
DettagliCreazione, eliminazione, lettura e scrittura di file di testo
Creazione, eliminazione, lettura e scrittura di file di testo Java mette a disposizione degli sviluppatori diverse classi per lavorare con i file di testo, analizziamo le principali: java.io.file La classe
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Java: Eccezioni
Programmazione Java: Eccezioni romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Eccezioni» Introduzione» Blocco try/catch» Clausola finally» Gerarchia eccezioni Checked e unchecked»
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliProgrammazione Java Eccezioni
Programmazione Java Eccezioni Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila diruscio@di.univaq.it. Sommario 2 2» Eccezioni Introduzione Blocco try/catch Clausola finally
DettagliProgrammazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013
Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Tipi di Dato Costanti Identificatori Parole riservate La classe String Sommario Lettura da input di dati numerici Stampa di dati numerici
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Eccezioni: Gestione dei Flussi versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione in Java
Programmazione in Java Settima lezione Cristian Del Fabbro Lezione di oggi Esercizio sull'utilizzo delle classi viste nella quarta lezione (Vector, StringTokenizer, file su disco, ecc.) Alcune classi per
DettagliJava Lezione 4. Dott. Ing. M. Banci, PhD
Java Lezione 4 Dott. Ing. M. Banci, PhD La lettura di un flusso di input in Java avviene attraverso l'oggetto in della classe System. System.in appartiene alla classe InputStream (letteralmente flusso
DettagliRTTI Run-time type identification
RTTI Run-time type identification Come determinare il tipo di un oggetto durante l'esecuzione RTTI 1 Ereditarietà Forma Linea Rettangolo Cerchio interface Forma { class Linea implements Forma { void ;
DettagliIntroduzione alla Programmazione in Java attraverso un esempio commentato
Corso di Studi in Informatica Programmazione 1 corso B prof. Elio Giovannetti Introduzione alla Programmazione in Java attraverso un esempio commentato Programmazione 1 B - a.a. 2002-03 53 Modello di memoria
DettagliOperazioni di input/output. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni
Operazioni di input/output Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Input /Output introduzione Per ottenere delle informazioni un programma apre un flusso (Stream)
DettagliMetodi. Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere:
Metodi Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere: invocazione: esecuzione di un metodo assegnamento: cambia lo stato di un campo ripetizione:
DettagliEsempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo
Esempi al calcolatore su: 1) 2) Subtyping e polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il
Dettagli6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
DettagliIntroduzione Programmazione Java
Introduzione Programmazione Java Paolo Tomeo paolo.tomeo@poliba.it Regole basilari Java è case sensitive quindi prestare attenzione alle maiuscole Il commento si inserisce con // all'inizio della linea
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
DettagliAlberi Binario in Java
Alberi Binario in Java Realizzare un albero binario di ricerca. L albero binario è di ricerca se esiste una relazione di ordinamento tra i valori dei nodi (valori comparabili). In particolare, dato un
DettagliOperazioni di scrittura e lettura con periferici in linguaggio Java
Operazioni di scrittura e lettura con periferici in linguaggio Java Flussi logici (stream) di output Operazione di scrittura a monitor con uso di stream (flusso logico) di output RAM System.out.println
DettagliClassi astratte e progettazione OOP Esempio: l enciclopedia degli animali. Esempio Animali
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali 1 Ereditarietà, polimorfismo e altri sporchi trucchi Facciamo un esempio che ci permette di comprendere come vengono utilizzate
DettagliProgrammazione. 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
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
Dettagli7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità:
7 Esercitazione (svolta): due possibilità: Java RMI: callback Molte applicazioni richiedono un meccanismo publish/subscribe I partecipanti (client) necessitano di notifiche da parte del coordinatore (server)
DettagliLezione 16 programmazione in Java
Lezione 16 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Approfondimenti della programmazione OO I FILE Sgli stream (flussi) I file ad
DettagliClassi astratte e progettazione OOP Esempio: l enciclopedia degli animali
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali 1 Ereditarietà, polimorfismo e altri sporchi trucchi Facciamo un esempio che ci permette di comprendere come vengono utilizzate
DettagliCorso di Laurea in Informatica e Comunicazione Digitale. a.a. 2006-2007. Interazione Uomo-Macchina. Introduzione a Java.
Corso di Laurea in Informatica e Comunicazione Digitale a.a. 2006-2007 Interazione Uomo-Macchina Introduzione a Java Seconda Parte Irene Mazzotta Giovanni Cozzolongo Vincenzo Silvetri 1 Richiami: Java
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList! Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi.. 2010/2011 Sommario Conversione di tipo:casting Tipo enumerativo lgebra Booleana Esercizi Conversione di tipo:casting Il casting o conversione di tipo avviene
Dettagli