Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-05-2009, 20:10   #1
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
[JAVA] Perchè dà errore ogni volta che nomino FailureException?

Ciao,
stò facendo un'esercitazione della professoressa...però tutte le volte che provo a sollevare una Failure Exception in questa classe mi dà errore in fase di compilazione...che sbaglio?
Altra domanda...a che serve la prima riga: import java.util.*;

Codice:
import java.util.*;

public class ListaDiInteri{
	/** OVERIEW: Rappresenta e gestisce liste di interi, è l'implementazione del seguente tipo astratto:
		V = Z U {<x,n>: x € Z ed n € V} (Z è l'insieme degli interi relativi)
		O = Insieme degli operatori di lettura, inserimento e cancellazione
		C = Insieme Vuoto
		
		Gli oggetti di tipo ListaDiInteri sono MODIFICABILI */
		
	private NodoInt N;			// Variabile di istanza che rappresenta la testa della lista
	private int quantiNodi;		// Variabile di istanza che rappresenta il numero di nodi presenti nella lista
	
	private class ListaIteratore implements Iterator{		// Classe interna per il generatore
		
		private NodoInt questo;				// Riferimento al nodo corrente
		
		public ListaIteratore(){			// Costruttore
			questo = N;						// Il nuovo generatore inizialmente punta sempre alla testa della lista
		}
		
		public boolean hasNext(){
			return questo != null;
		}
		
		public Object next() throws NoSuchElementException{
			if(questo == null) throw new NoSuchElementException();	// Se il ricevente è l'ultimo nodo, ritorna l'eccezione
			
			return new Integer(questo.getValore());	 // Altrimenti incarta il valore in un Integer e restituiscine una copia
		}
		
		public void remove(){
			if(questo != null) questo = questo.getSuccessivo();	// Elimina l'element dall'iteratore ma non dalla collezione
		}
	
	}
	
	/** Metodo osservatore
		REQUIRES: La collezione non deve essere modificata mentre l'iteratore è in uso
		@return: Un iteratore degli elementi dell'oggetto ricevente */
		
	public Iterator elementi(){
		return new ListaIteratore();
	}
	
	/** EFFECTS: Crea una lista di interi vuota */
	
	public ListaDiInteri(){		// E' il costruttore della classe ListaDiInteri
		N = null;
		quantiNodi = 0;
	}
	
	/** EFFECTS: Aggiunge in testa alla lista un nuovo elemento il cui elemento è pari al parametro
		MODIFIES: this
		@param: k di tipo int, il valore da aggiungere in testa all'oggetto ricevente */
		
	public void aggiungiInTesta(int k){
		NodoInt Nuovo = new NodoInt(k);		// Crea un nuovo nodo con campo informativo pari a k
		Nuovo.setSuccessivo(N);				// Fai puntare il nuovo nodo alla lista N
		N = Nuovo;							// Aggiungi il nuovo nodo in testa;
		quantiNodi ++;							// Incrementa di 1 il numero dei nodi presenti nella lista
	}
	
	/** EFFECTS: Aggiunge in coda alla lista un nuovo nodo il cui valore intero è pari al parametro
		MODIFIES: this
		@param: k di tipo int, il valore da aggiungere in coda all'oggetto ricevente */
		
	public void aggiungiInCoda(int k){
		NodoInt x, nuovo;					// Dichiara due variabili di tipo NodoInt
		
		nuovo = new NodoInt(k);				// Crea un nuovo nodo con campo informativo pari a k
		
		if(N != null){						// Se la lista N non è vuota
			x = N;								// Metti in x il riferimento alla testa della lista
			while(x.getSuccessivo() != null){	// ITERA SULLA LISTA scorrendola fino all'ultimo nodo
				x = x.getSuccessivo();
			}
			x.setSuccessivo(nuovo);				// ed infine AGGIUNGI IN CODA il nuovo nodo
			quantiNodi ++;						// ed incrementa di 1 il numero di nodi presenti nella lista
		}
		
		else{
			aggiungiInTesta(k);				// Altrimenti (se la lista era vuota) aggiungi in testa il nuovo nodo
			quantiNodi ++;						// ed incrementa di 1 il numero di nodi presenti nella lista
		}
	}
	
	/** EFFECTS: Rimuove l'elemento in testa della lista oggetto ricevente ed espone l'oggetto ricevente a possibili
		effetti collaterali
		MODIFIES: this
		REQUIRES: L'oggetto ricevente deve essere diverso da null
		@return: Il riferimento all'oggetto di tipo NodoInt in testa alla lista (che viene rimosso dalla lista)
		@throws: FailureException (Unchecked) */
		
	public NodoInt rimuoviDaTesta(){
		NodoInt testa = N;			// Dichiara una variabile di tipo NodoInt e mettici dentro la testa della lista
		
		if(N == null) throw new FailureException();		// Se la lista N è vuota solleva la FailureException
		
		N = N.getSuccessivo();		// (altrimenti) metti in N il riferimento al secondo elemento della lista N stessa
		quantiNodi --;					// Descrementa di 1 il numero di nodi della lista
		return testa;				// Ritorna al chiamante il riferimento dell'oggetto in testa che è stato eliminato
	}
	
	
	/** EFFECTS: Rimuove l'elemento in coda della lista oggetto ricevente ed espone l'oggetto ricevente a possibili
		effetti collaterali
		MODIFIES: this
		REQUIRES: L'oggetto ricevente deve essere diverso da null
		@return: Il riferimento all'oggetto di tipo NodoInt in coda alla lista (che viene rimosso dalla lista)
		@throws: FailureException (Unchecked) */	
		
	public NodoInt rimuoviDaCoda(){
		NodoInt x, coda;			// Dichiara due variabili di tipo NodoInt
		
		if(N == null) throw new FailureException();		// Se la lista N è vuota solleva la FailureException
		
		x = N;					// Metti in X il riferimento alla testa della lista
		
		if(N.getSuccessivo() == null){		// Se la lista è formata da un solo nodo (la testa è anche la coda)
			coda = N;						// Metti dento coda il riferimento alla testa della lista
			N = null;						// Ed elimina la coda rendendo la lista vuota
		}
		
		else{			// Altrimenti scorri la lista fino al penultimo nodo
			while(x.getSuccessivo() != null && (x.getSuccessivo()).getSuccessivo() != null){
				x = x.getSuccessivo();		// Metti in x il riferimento al penultimo nodo della lista
			}
			coda = x.getSuccessivo();		// Metti in coda il riferimento all'ultimo nodo della lista
			x.setSuccessivo(null);			// Elimina l'ultimo nodo dalla lista
		}
		quantiNodi --;						// Decrementa di 1 il numero di nodi presenti nella lista
		return coda;						// Ritorna al chiamante il riferimento all'ultimo nodo eliminato dalla lista
	}
	
	/** Metodo osservatore
		REQUIRES: L'oggetto ricevente deve essere diverso da null
		@throws: FailureException (unchecked)
		@return: Il valore dell'elemento in testa alla lista oggetto ricevente */
	
	public int getTesta(){
		if(N == 0) throw new FailureException();
		return N.getValore();
	}
	
	/** Metodo osservatore
		REQUIRES: L'oggetto ricevente deve essere diverso da null
		@throws: FailureException (unchecked)
		@return: Il valore dell'elemento in coda alla lista oggetto ricevente */
		
	public int getCoda(){
		NodoInt x;				// Dichiaro una variabile x di tipo NodoInt
		
		if(N == 0) throw new FailureException();		// Se la lista N è vuota solleva una FailureException
		
		x = N;			// (altrimenti) metti in x il riferimento alla testa della lista
		
		if(N != null)
			while(x.getSuccessivo() != null)
				x = x.getSuccessivo();
			
		else getTesta();
		
		return x.getValore();
	}
	
	/** Metodo osservatore
		Verifica se la lista oggetto ricevente contiene l'intero specificato dal parametro
		@REQUIRES: L'oggetto ricevente deve essere diverso da null
		@param: i di tipo int, è il valore da cercare nella lista
		@return: true se l'oggetto ricevente contiene il parametro, false altrimenti
		@throws: FailureException (unchecked) */
		
	public boolean cerca(int i){
		NodoInt x;
		boolean trovato = false;
		
		if(N == null) throw new FailureException();
		x = N;
		while(x != null && x.getValore() != i)
			x = x.getSuccessivo();
			
		if(x != null) trovato = true;
		
		return trovato;
	}
	
	public String toString(){
		NodoInt x;
		String s= "";
		
		x = N;
		
		while(x != null){
			s += x.getValore();
			x = x.getSuccessivo();
		}
		
		return s;
	}
	
}
Grazie
Andrea
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2009, 20:51   #2
~FullSyst3m~
Senior Member
 
L'Avatar di ~FullSyst3m~
 
Iscritto dal: Mar 2007
Messaggi: 4683
Quote:
Originariamente inviato da D4rkAng3l Guarda i messaggi
Ciao,
stò facendo un'esercitazione della professoressa...però tutte le volte che provo a sollevare una Failure Exception in questa classe mi dà errore in fase di compilazione...che sbaglio?
Altra domanda...a che serve la prima riga: import java.util.*;

Codice:
import java.util.*;

public class ListaDiInteri{
	/** OVERIEW: Rappresenta e gestisce liste di interi, è l'implementazione del seguente tipo astratto:
		V = Z U {<x,n>: x € Z ed n € V} (Z è l'insieme degli interi relativi)
		O = Insieme degli operatori di lettura, inserimento e cancellazione
		C = Insieme Vuoto
		
		Gli oggetti di tipo ListaDiInteri sono MODIFICABILI */
		
	private NodoInt N;			// Variabile di istanza che rappresenta la testa della lista
	private int quantiNodi;		// Variabile di istanza che rappresenta il numero di nodi presenti nella lista
	
	private class ListaIteratore implements Iterator{		// Classe interna per il generatore
		
		private NodoInt questo;				// Riferimento al nodo corrente
		
		public ListaIteratore(){			// Costruttore
			questo = N;						// Il nuovo generatore inizialmente punta sempre alla testa della lista
		}
		
		public boolean hasNext(){
			return questo != null;
		}
		
		public Object next() throws NoSuchElementException{
			if(questo == null) throw new NoSuchElementException();	// Se il ricevente è l'ultimo nodo, ritorna l'eccezione
			
			return new Integer(questo.getValore());	 // Altrimenti incarta il valore in un Integer e restituiscine una copia
		}
		
		public void remove(){
			if(questo != null) questo = questo.getSuccessivo();	// Elimina l'element dall'iteratore ma non dalla collezione
		}
	
	}
	
	/** Metodo osservatore
		REQUIRES: La collezione non deve essere modificata mentre l'iteratore è in uso
		@return: Un iteratore degli elementi dell'oggetto ricevente */
		
	public Iterator elementi(){
		return new ListaIteratore();
	}
	
	/** EFFECTS: Crea una lista di interi vuota */
	
	public ListaDiInteri(){		// E' il costruttore della classe ListaDiInteri
		N = null;
		quantiNodi = 0;
	}
	
	/** EFFECTS: Aggiunge in testa alla lista un nuovo elemento il cui elemento è pari al parametro
		MODIFIES: this
		@param: k di tipo int, il valore da aggiungere in testa all'oggetto ricevente */
		
	public void aggiungiInTesta(int k){
		NodoInt Nuovo = new NodoInt(k);		// Crea un nuovo nodo con campo informativo pari a k
		Nuovo.setSuccessivo(N);				// Fai puntare il nuovo nodo alla lista N
		N = Nuovo;							// Aggiungi il nuovo nodo in testa;
		quantiNodi ++;							// Incrementa di 1 il numero dei nodi presenti nella lista
	}
	
	/** EFFECTS: Aggiunge in coda alla lista un nuovo nodo il cui valore intero è pari al parametro
		MODIFIES: this
		@param: k di tipo int, il valore da aggiungere in coda all'oggetto ricevente */
		
	public void aggiungiInCoda(int k){
		NodoInt x, nuovo;					// Dichiara due variabili di tipo NodoInt
		
		nuovo = new NodoInt(k);				// Crea un nuovo nodo con campo informativo pari a k
		
		if(N != null){						// Se la lista N non è vuota
			x = N;								// Metti in x il riferimento alla testa della lista
			while(x.getSuccessivo() != null){	// ITERA SULLA LISTA scorrendola fino all'ultimo nodo
				x = x.getSuccessivo();
			}
			x.setSuccessivo(nuovo);				// ed infine AGGIUNGI IN CODA il nuovo nodo
			quantiNodi ++;						// ed incrementa di 1 il numero di nodi presenti nella lista
		}
		
		else{
			aggiungiInTesta(k);				// Altrimenti (se la lista era vuota) aggiungi in testa il nuovo nodo
			quantiNodi ++;						// ed incrementa di 1 il numero di nodi presenti nella lista
		}
	}
	
	/** EFFECTS: Rimuove l'elemento in testa della lista oggetto ricevente ed espone l'oggetto ricevente a possibili
		effetti collaterali
		MODIFIES: this
		REQUIRES: L'oggetto ricevente deve essere diverso da null
		@return: Il riferimento all'oggetto di tipo NodoInt in testa alla lista (che viene rimosso dalla lista)
		@throws: FailureException (Unchecked) */
		
	public NodoInt rimuoviDaTesta(){
		NodoInt testa = N;			// Dichiara una variabile di tipo NodoInt e mettici dentro la testa della lista
		
		if(N == null) throw new FailureException();		// Se la lista N è vuota solleva la FailureException
		
		N = N.getSuccessivo();		// (altrimenti) metti in N il riferimento al secondo elemento della lista N stessa
		quantiNodi --;					// Descrementa di 1 il numero di nodi della lista
		return testa;				// Ritorna al chiamante il riferimento dell'oggetto in testa che è stato eliminato
	}
	
	
	/** EFFECTS: Rimuove l'elemento in coda della lista oggetto ricevente ed espone l'oggetto ricevente a possibili
		effetti collaterali
		MODIFIES: this
		REQUIRES: L'oggetto ricevente deve essere diverso da null
		@return: Il riferimento all'oggetto di tipo NodoInt in coda alla lista (che viene rimosso dalla lista)
		@throws: FailureException (Unchecked) */	
		
	public NodoInt rimuoviDaCoda(){
		NodoInt x, coda;			// Dichiara due variabili di tipo NodoInt
		
		if(N == null) throw new FailureException();		// Se la lista N è vuota solleva la FailureException
		
		x = N;					// Metti in X il riferimento alla testa della lista
		
		if(N.getSuccessivo() == null){		// Se la lista è formata da un solo nodo (la testa è anche la coda)
			coda = N;						// Metti dento coda il riferimento alla testa della lista
			N = null;						// Ed elimina la coda rendendo la lista vuota
		}
		
		else{			// Altrimenti scorri la lista fino al penultimo nodo
			while(x.getSuccessivo() != null && (x.getSuccessivo()).getSuccessivo() != null){
				x = x.getSuccessivo();		// Metti in x il riferimento al penultimo nodo della lista
			}
			coda = x.getSuccessivo();		// Metti in coda il riferimento all'ultimo nodo della lista
			x.setSuccessivo(null);			// Elimina l'ultimo nodo dalla lista
		}
		quantiNodi --;						// Decrementa di 1 il numero di nodi presenti nella lista
		return coda;						// Ritorna al chiamante il riferimento all'ultimo nodo eliminato dalla lista
	}
	
	/** Metodo osservatore
		REQUIRES: L'oggetto ricevente deve essere diverso da null
		@throws: FailureException (unchecked)
		@return: Il valore dell'elemento in testa alla lista oggetto ricevente */
	
	public int getTesta(){
		if(N == 0) throw new FailureException();
		return N.getValore();
	}
	
	/** Metodo osservatore
		REQUIRES: L'oggetto ricevente deve essere diverso da null
		@throws: FailureException (unchecked)
		@return: Il valore dell'elemento in coda alla lista oggetto ricevente */
		
	public int getCoda(){
		NodoInt x;				// Dichiaro una variabile x di tipo NodoInt
		
		if(N == 0) throw new FailureException();		// Se la lista N è vuota solleva una FailureException
		
		x = N;			// (altrimenti) metti in x il riferimento alla testa della lista
		
		if(N != null)
			while(x.getSuccessivo() != null)
				x = x.getSuccessivo();
			
		else getTesta();
		
		return x.getValore();
	}
	
	/** Metodo osservatore
		Verifica se la lista oggetto ricevente contiene l'intero specificato dal parametro
		@REQUIRES: L'oggetto ricevente deve essere diverso da null
		@param: i di tipo int, è il valore da cercare nella lista
		@return: true se l'oggetto ricevente contiene il parametro, false altrimenti
		@throws: FailureException (unchecked) */
		
	public boolean cerca(int i){
		NodoInt x;
		boolean trovato = false;
		
		if(N == null) throw new FailureException();
		x = N;
		while(x != null && x.getValore() != i)
			x = x.getSuccessivo();
			
		if(x != null) trovato = true;
		
		return trovato;
	}
	
	public String toString(){
		NodoInt x;
		String s= "";
		
		x = N;
		
		while(x != null){
			s += x.getValore();
			x = x.getSuccessivo();
		}
		
		return s;
	}
	
}
Grazie
Andrea
Il codice non l'ho letto, ma posso rispondere alla prima domanda. Il .* dovrebbe significare che importi tutte le classi e tipi appartenenti a quel package in modo da averli nello scope e disponibili all'uso.
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito.
~FullSyst3m~ è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2009, 20:55   #3
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
Quote:
Originariamente inviato da ~FullSyst3m~ Guarda i messaggi
Il codice non l'ho letto, ma posso rispondere alla prima domanda. Il .* dovrebbe significare che importi tutte le classi e tipi appartenenti a quel package in modo da averli nello scope e disponibili all'uso.
eh si quello lo sapevo...però vorrei sapere perchè li importo e a cosa mi servono...forse per implementare l'interface Iterator? è l'unica cosa che mi viene in mente
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2009, 21:00   #4
~FullSyst3m~
Senior Member
 
L'Avatar di ~FullSyst3m~
 
Iscritto dal: Mar 2007
Messaggi: 4683
Quote:
Originariamente inviato da D4rkAng3l Guarda i messaggi
eh si quello lo sapevo...però vorrei sapere perchè li importo e a cosa mi servono...forse per implementare l'interface Iterator? è l'unica cosa che mi viene in mente
Forse li importi perchè usi classi o altri tipi che sono in quel package e ti servono. Comunque come ho detto non ho guardato il codice, sto andando a magnà , quindi vado ad intuito.
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito.
~FullSyst3m~ è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2009, 21:25   #5
Frank1962
Senior Member
 
L'Avatar di Frank1962
 
Iscritto dal: Sep 2001
Città: de_legato
Messaggi: 792
se postassi il trace dell'errore non sarebbe male....
__________________
----------------------------------------------
File reality.sys corrupted, Reboot Universe? Y/N
----------------------------------------------
Frank1962 è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2009, 21:43   #6
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2781
Quote:
Originariamente inviato da D4rkAng3l Guarda i messaggi
eh si quello lo sapevo...però vorrei sapere perchè li importo e a cosa mi servono...forse per implementare l'interface Iterator? è l'unica cosa che mi viene in mente
L'import serve a risparmiare un sacco di codice. Mi spiego meglio con un esempio: prendiamo Iterator, quando compili il tuo codice vuoi che ogni volta che il compilatore trovi Iterator si riferisca all'Iterator che si trova nel package java.util (guarda la documentazione java per accertartene: LINK). A questo serve l'import.
Non è l'unica strada percorribile, infatti ogni volta invece di scrivere solo "Iterator" avresti potuto scrivere il suo "percorso" completo: "java.util.Iterator".
In sostanza è come quando in windows o in linux aggiungi dei percorsi alla variabile di ambiente PATH, dopo averli aggiunti puoi lanciare gli eseguibili ivi contenuti semplicemente digitandone il nome.
Sinceramente non so come vengano gestite eventuali collisioni...

Riguardo il problema della FailureException ho provato a cercare sulla documentazione ma non esiste un'eccezione con quel nome, non è che è un'eccezione definita dalla prof? Oppure per FailureException intendeva una qualsiasi eccezione che rappresenti un fallimento...
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2009, 01:41   #7
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
L'import serve a risparmiare un sacco di codice. Mi spiego meglio con un esempio: prendiamo Iterator, quando compili il tuo codice vuoi che ogni volta che il compilatore trovi Iterator si riferisca all'Iterator che si trova nel package java.util (guarda la documentazione java per accertartene: LINK). A questo serve l'import.
Non è l'unica strada percorribile, infatti ogni volta invece di scrivere solo "Iterator" avresti potuto scrivere il suo "percorso" completo: "java.util.Iterator".
In sostanza è come quando in windows o in linux aggiungi dei percorsi alla variabile di ambiente PATH, dopo averli aggiunti puoi lanciare gli eseguibili ivi contenuti semplicemente digitandone il nome.
Sinceramente non so come vengano gestite eventuali collisioni...

Riguardo il problema della FailureException ho provato a cercare sulla documentazione ma non esiste un'eccezione con quel nome, non è che è un'eccezione definita dalla prof? Oppure per FailureException intendeva una qualsiasi eccezione che rappresenti un fallimento...
Credo la seconda che hai detto...l'eccezione unchecked che si riferisce ad un qualsiasi generico fallimento...booo
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2009, 09:34   #8
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da D4rkAng3l Guarda i messaggi
Credo la seconda che hai detto...l'eccezione unchecked che si riferisce ad un qualsiasi generico fallimento...booo
Che io sappia non esite nel JDK una classe FailureException.
Inoltre è stato specificato che deve essere una eccezione di tipo "unchecked".

Hai due possibilità:
1) L'eccezione è stata definita dalla professoressa, e la sua definizione deve essere da qualche parte: se non ti è stato consegnata, chiedigliela.

2) La professoressa vuole che la implementiate voi l'eccezione FailureException, e deve essere implementata come eccezione "uncheked".
Potresti implementarla nel sorgente come estensione della classe RuntimeException.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 14-05-2009, 11:08   #9
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Che io sappia non esite nel JDK una classe FailureException.
Inoltre è stato specificato che deve essere una eccezione di tipo "unchecked".

Hai due possibilità:
1) L'eccezione è stata definita dalla professoressa, e la sua definizione deve essere da qualche parte: se non ti è stato consegnata, chiedigliela.

2) La professoressa vuole che la implementiate voi l'eccezione FailureException, e deve essere implementata come eccezione "uncheked".
Potresti implementarla nel sorgente come estensione della classe RuntimeException.
Certo...potrei crearla io estendendo RunTimeException senza farmi troppi problemi...ma visto che la nomina dall'inizio del corso come se fosse una cosa normale...booo...forse è meglio che le chiedo anche qualche delucidazione in merito...bah...

Gazie a tutti
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
La Cina spiazza tutti: nuovo chip per l'...
Nexperia, altro che caso chiuso: il caos...
Nuova tecnologia AMD FSR Ray Regeneratio...
Motorola Edge 60 Neo e Motorola Moto Wat...
Weekend e offerte Amazon Black Friday ag...
Il tuo indirizzo IP è compromesso...
Eureka J15 Evo Ultra in super sconto: or...
Robot aspirapolvere in super sconto per ...
Black Friday Amazon: le migliori occasio...
Il nuovo Esplora file per Windows 11 &eg...
Black Friday e Apple: qui tutte le offer...
Il CEO di Epic contro l'etichetta 'conte...
A causa di un problema durante il lancio...
Per il responsabile delle Porsche 911 e ...
Ritorno di fiamma tra Apple e Intel: gal...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:26.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v