Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
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: 2688
[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: 2688
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: 2787
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: 2688
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: 2688
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


Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
Amazon sblocca i prezzi con coupon e sco...
Action cam Insta360 in super offerta su ...
Fallout 76 Sorgenti Brucianti: tanta car...
Scope elettriche super potenti a confron...
Tutti i Google Pixel 10 sono scontati su...
Report Legambiente 2025: Palermo, Milano...
Dreame X40 Master ora a 699€ su Amazon: ...
La nuova gamma di soluzioni Ecovacs per ...
Blizzard dice no a Hearthstone 2, ma pro...
Ultimi 2 giorni per l'usato Amazon: 10% ...
Pechino, l'energia rinnovabile vale come...
Logitech a ISE 2026: la collaboration en...
Super sconti al checkout sui TV OLED LG ...
Compressori auto a confronto su Amazon: ...
Assassin's Creed 4: Black Flag Remake p...
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: 11:14.


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