Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
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
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-10-2003, 15:50   #1
carMAN
Senior Member
 
Iscritto dal: Oct 2000
Messaggi: 432
[Java] ed eccezioni....

ho un problema con le eccezioni in java... guardate questo codice...
...
public void startTimer() throws ErroreConnessione
{int delay = 60000; //milliseconds
try{
ActionListener taskPerformer = new ActionListener(){
public void actionPerformed(ActionEvent evt) {
if (connessioneincorso)
{avviato=false;
Monitor.this.vivi=false;
Monitor.this.timer.stop();
throw new ErroreConnessione();
}
// else non operation
}
};
timer = new javax.swing.Timer(delay, taskPerformer);
timer.start();
}catch (ErroreConnessione ec){}
}//startTimer
...

L'errore che ottengo è
C:\sde\karlmail\Monitor.java:276: unreported exception Monitor.ErroreConnessione; must be caught or declared to be thrown.
throw new ErroreConnessione();

praticamente la situazione è questa:
all'interno del metodo run di un thread viene eseguita una connessione ad un server di posta elettronica. Prima della connessione viene attivato un timer di timeout, tramite la procedura startTimer() vista sopra. Questo timer viene stoppato quando la connessione termina correttamente o non.
Durante la connessione possono verificarsi eccezioni che vengono catturate. Vorrei fare in modo che una eccezione di tipo ErroreConnessine venga generata se il timer scade ma la connessione non è ancora terminata.

Ho pensato di usare il codice visto sopra ma ottengo l'errore descritto. Sapreste aiutarmi!!!
Non so se sono stato abbastanza chiaro ma il problema non è molto semplice da spiegare.
Grazie mille.
carMAN è offline   Rispondi citando il messaggio o parte di esso
Old 07-10-2003, 16:23   #2
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
potresti riportare il codice che deinisce la classe ErroreConnessione

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 07-10-2003, 16:24   #3
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Se lanci un eccezione in un metodo dichiarato throws, devi necessariamente catcharla.
Cmq è un errore di compilazione no? C'è qualche cosa che nn mi quadra nel tuo codice, perchè non posti tutto il sorgente?
Potrebbe anche bastare un try catch nel metodo public void
actionPerformed che a te sembra nel try catch generale, ma in realtà non è così.
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 07-10-2003, 16:28   #4
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Anzi mi sa che è proprio così! Ti dice: ocio che o dichiari il metodo (actionPerformed) come throws exception oppure usi un try catch. Prova.
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 07-10-2003, 16:41   #5
carMAN
Senior Member
 
Iscritto dal: Oct 2000
Messaggi: 432
Il codice di ErroreConnessione è banale
private class ErroreConnessione extends Exception{};


Ho fatto cosi:
public void startTimer() throws ErroreConnessione
{int delay = 3000; //milliseconds
try{
ActionListener taskPerformer = new ActionListener(){
public void actionPerformed(ActionEvent evt) throws ErroreConnessione {
if (connessioneincorso)
{ avviato=false;
Monitor.this.vivi=false;
Monitor.this.timer.stop();
throw new ErroreConnessione();
}
// else non operation
}
};
timer = new javax.swing.Timer(delay, taskPerformer);
timer.start();
}catch (ErroreConnessione ec){}
}//startTimer

e ottengo:

C:\sde\karlmail\Monitor.java:262: actionPerformed(java.awt.event.ActionEvent) in cannot implement actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener; overridden method does not throw Monitor.ErroreConnessione
public void actionPerformed(ActionEvent evt) throws ErroreConnessione {
^
Note: C:\sde\karlmail\Monitor.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
1 error

Procedura completata con codice di uscita 1
carMAN è offline   Rispondi citando il messaggio o parte di esso
Old 07-10-2003, 17:18   #6
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Ovvio: ActionListener è una interfaccia e tu devi implementare il metodo ActonPerformed, senza "variarlo" nella definizione, ovvero non puoi aggiungerci un throws...(o un extends, o un implement, ecc).
Usa il try catch al suo interno
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 07-10-2003, 17:28   #7
carMAN
Senior Member
 
Iscritto dal: Oct 2000
Messaggi: 432
ti ringrazio ci sono riuscito... funziona tutto...
grazie, Carlo.
carMAN è offline   Rispondi citando il messaggio o parte di esso
Old 07-10-2003, 17:49   #8
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Prego
cn73 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
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
Apple punterà sull'architettura c...
NASA Curiosity: i processi non biologici...
Sega conferma l'arrivo di tanti nuovi gi...
La serie POCO X8 è pronta al debu...
Apple conferma che l'arrivo della 'nuova...
Le vendite di Square Enix sono in netto ...
iPhone 17e si mostra in un video 'first ...
Il nuovo Xiaomi Watch 5 è pronto ...
Steam Deck è out of stock in dive...
Le migliori offerte Amazon del weekend, ...
PC più potente, meno spesa: su Amazon ta...
Amazon Haul: come fare acquisti 'pazzi' ...
Threads permetterà agli utenti di...
Monitor gaming in offerta su Amazon: 180...
Samsung vuole riconquistare la leadershi...
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: 20:19.


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