Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Eccezioni non gestite domanda da somaro
giovedì 15 febbraio 2007 - 18.53
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
bule
Profilo
| Junior Member
101
messaggi | Data Invio:
gio 15 feb 2007 - 18:53
ciao a tutti io avrei la seguente domanda probabilmente assai stupida..
esiste un modo per catturare le eccezzioni non gestite ? nel senso se nel mio programma si verifica un'eccezzione che non avevo considerato come faccio a intercettarla in modo da stoppare il mio programma senza far venire fuori il messaggio di errore o senza bloccare indefinitivamnte il programma?
pieroalampi
Profilo
| Expert
816
messaggi | Data Invio:
gio 15 feb 2007 - 19:00
se ho capito bene puoi provare con try e catch
Try
'qui inserisci la routine che deve correre
Catch eccezionifiltro As Exception 'qui il tipo di Exception
qui inserisci quello che deve fare una volta incappato nell'Exception..
MsgBox("trovata eccezione", MsgBoxStyle.Exclamation)
End Try
spero di esserti stato utile
vb.net
------------------------------------------------------
::::Sempre a manetta in curva::::
------------------------------------------------------
bule
Profilo
| Junior Member
101
messaggi | Data Invio:
gio 15 feb 2007 - 19:14
si conoscevo il try e catch ma io volevo un sistema per intercettare quelle eccezzioni che si verificano senza che io le avessi mai gestite..cioè senza che fossero inserite nel try catch..
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
ven 16 feb 2007 - 09:30
Già provato con il debug?
Comunque un programma che lancia un'eccezione non gestita termina, almeno da quel che ho ne so io.
bule
Profilo
| Junior Member
101
messaggi | Data Invio:
ven 16 feb 2007 - 09:36
si termina ma lancia un bruttissimo messaggio di errore all'utente io vorrei farlo terminare senza che l'utente veda niente...
in modo brusco e quasi indolore, cioè vorrei che ad ogni eccezzione non gestita venisse chiamato un application.exit()..
in pratica vorrei tentare di gestire le eccezzioni non gestite...
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
ven 16 feb 2007 - 10:32
Provato un un blocco try "globale" che comprende tutto il codice e poi lancia in sequenza le varie exception controllate e in fondo un error?
bule
Profilo
| Junior Member
101
messaggi | Data Invio:
ven 16 feb 2007 - 10:38
difatti è quello che vorrei fare ... ma siccome il progetto aha più classi e più metodi volevo sapere appunto dove mettere o come mettere un gestore di eccezione in modo da controllare tutto il programma in modo da non mettere un try catch in ogni blocco di codice, sempre se questo si può fare ...
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
ven 16 feb 2007 - 10:46
Beh, non conoscendo la struttura del tuo progetto non so bene cosa dirti, però avrai di sicuro un main(){.....}, prova a metterlo lì.
Adesso non ho qui il VS 2005 e non posso provare, quiandi non vorrei dirti fregnacce, ma prova nelle classi a non gestire errori ma metterli come throwable, cosi che vengano lanciati e poi catturati quando utilizzi qualla classe nel main() dentro il blocco try catch.
bule
Profilo
| Junior Member
101
messaggi | Data Invio:
ven 16 feb 2007 - 10:56
si nel file program.cs creato da VS2005 c'è il main che subito chiama un'apllication.run(new Form1)
dove il form1 è il main form del programma se io ci metto un try catch li nel application run vengono gestiti gli errori non gestiti( che giro di parole) che si verificano al load del form1...ma se il form è caricato e io metto un errore che ne so al click di un bottone questo non viene intercettato dal blocco catch del main...stesso dicasi se l'errore si verifica in un eventuale form2 creato da form1...
ho sentito del throwable ma penso sia una cosa solo di java non di c#
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
ven 16 feb 2007 - 11:08
http://msdn2.microsoft.com/en-us/library/1ah5wsex.aspx
Prova a dare un occhio! Usi il throw senza il try catch e poi la catturi sul "main".
bule
Profilo
| Junior Member
101
messaggi | Data Invio:
ven 16 feb 2007 - 11:12
grazie mille ora prova , speriam bene...ciao
civetta
Profilo
| Newbie
29
messaggi | Data Invio:
mer 21 feb 2007 - 23:08
Dai un'occhiata agli esempi nella documentazione sulla classe Application e
Application.ThreadException. Io ho risolto così.
Ciao
Tra il BIANCO (0) e il NERO (1) ammira le sfumature dell'arcobaleno.
bule
Profilo
| Junior Member
101
messaggi | Data Invio:
gio 22 feb 2007 - 09:31
sin è vero e poi tra una cosa e l'altra mi son dimenticato di scrivere come avevo risolto: nel file program, dentro il main e prima dell application.run(new Form1);
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(OnUnhandledException);
e poi furi dal main
private static void OnUnhandledException(Object sender, UnhandledExceptionEventArgs e)
{
//quello che vuoi che succeda quando si verifica un eccezzione non gestita
//es application.exit()
}
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !