Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Complete è un robot aspirapolvere che coniuga un'aspirazione potente e un lavaggio con rullo a logica di intelligenza artificiale che guida al meglio nella pulizia di casa: rulli e spazzole estensibili a pulire gli angoli e una base di ricarica che lava e ripristina il robot al emglio delle sue funzionalità dopo ogni azione di pulizia
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Abbiamo provato Google Pixel 11, il più accessibile della nuova gamma: chip Tensor G6 condiviso con i modelli Pro, fotocamera 48 MP con Magic Capture e Stili Fotografici, display Actua da 3000 nit e batteria da 4985 mAh. Ecco come si comporta nell'uso quotidiano, e cosa cambia davvero rispetto a Pixel 11 Pro e Pro XL
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL debutta in Italia con il nuovo Tensor G6, lo Zoom Pro fino a 120x, il display Super Actua da 3600 nit e la new entry HiLight riservata ai modelli Pro: lo abbiamo provato in anteprima per diversi giorni prima del lancio commerciale, tra fotocamera generativa, ricarica ancora indietro rispetto ai rivali e un prezzo che parte da 1399 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-10-2007, 11:34   #1
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
[Java] Gestire eccezioni personalizzate

Ciao ho un problema con le eccezioni personalizzate

metodo A chiama metodo B
metodo B chiama metodo C
metodo C chiama metodo D

dove il metodo A è nella classe_1, i metodi B e C sono nella classe_2 e il metodo D è nella classe_3.

L'eccezione è lanciata dal metodo D e devo propagarlo fino al metodo A che mostra a video un messaggio di errore. So che devo usare throws, throw e catch ma come ?
spillo491 è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2007, 11:36   #2
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Java?
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2007, 12:40   #3
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
Si, scusate
spillo491 è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2007, 12:42   #4
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Intendi una cosa del genere?
Codice:
public class Classe1 {

	public void A() throws Exception {
		new Classe2().B();
	}

	public static void main(String[] args) {
		try {
			new Classe1().A();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
Codice:
public class Classe2 {

	public void B() throws Exception {
		C();
	}

	public void C() throws Exception {
		new Classe3().D();
	}
}
Codice:
public class Classe3 {
	public void D() throws Exception {
		throw new Exception();
	}
}
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2007, 12:56   #5
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
Si la situazione è questa però il mio metodo D è cosi

public void D( ) throws Exception {

try {
if( a > 1)
throw new PippoException( "errore" );

}

catch ( PippoException de ) {
throw de;
}
}
spillo491 è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2007, 13:01   #6
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Ma se la catturi non si propaga, in questo caso nel catch ne dovresti lanciare un altra che si propaga alle altre
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2007, 13:09   #7
spillo491
Member
 
Iscritto dal: Dec 2006
Messaggi: 201
Infatti, è un controsenso dire throws Exception e poi dire
catch(PippoException)

dove PippoException extends Exception.
Però potrebbero esserci altre eccezioni nel blocco try quindi se ho un eccezione PippoException la catturo e poi la "getto" mentre se ho altre eccezioni le "getto" al metodo chiamante.
Ma perchè la PippoException la catturo e poi la getto ? Che senso puo avere ?
spillo491 è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2007, 13:12   #8
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Non credo ce l'abbia
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2007, 13:30   #9
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da spillo491 Guarda i messaggi
Si la situazione è questa però il mio metodo D è cosi
Allora devi fare:
Codice:
public void D () throws PippoException
{
  ...
    if (a > 1) 
        throw new PippoException( "errore" );
  ...
}
E nota, se PippoException è una eccezione "checked" allora devi dichiararla con il throws, altrimenti se "unchecked" non è obbligatorio.

Sarà poi compito del chiamante o catturarla (e gestirla) o dichiararla a sua volta con il throws. E così via...
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship Google Pixel 11 Pro XL: fotocamera al top, batte...
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
NVIDIA NemoClaw, su Windows basta una pa...
Nokia Charge 300 è il nuovo dumbphone ch...
USB4 e capacità fino a 8 TB, ecco...
Tesla alza ancora il prezzo del Cybertru...
Arriva Cloudera Anywhere Cloud, la nuova...
L'iPhone del 20° anniversario si mostra ...
Due monitor al posto di uno: il nuovo AG...
Siri AI non sarà per tutti, inizialmente...
NVIDIA GeForce NOW estende il supporto a...
Tornano 2 super promo su Amazon, bestsel...
Instagram semplifica il montaggio dei Re...
Geely oltre 800 volt: punta a 1.000 volt...
Un transistor che funziona a 600 °C,...
Il drone russo ha scelto da solo cosa co...
Frodi online: 58 arresti in 22 paesi, e ...
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: 12:07.


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