|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Messaggi: n/a
|
[C#]terminare l'applicazione dopo catch di una eccezione
questo pezzo di codice l'ho messo nel costruttore del form principale (quello chiamato da Application.Run(....); )
Codice:
try
{
this.odcCommon.Open();
}
//se genera una eccezione loggo tutto nella stringa errorMessages
catch (OleDbException e)
{
for (int i=0; i < e.Errors.Count; i++)
{
errorMessages += "Index #" + i + "\n" +
"Messagge: " + e.Errors[i].Message + "\n" +
"NativeError: " + e.Errors[i].NativeError + "\n" +
"Source: " + e.Errors[i].Source + "\n" +
"SQLState: " + e.Errors[i].SQLState + "\n";
}
errorMessages += "L'applicazione verrà terminata";
}
if (!(errorMessages=="")) //se ci sono errori li visualizzo e chiudo l'applicazione
{
MessageBox.Show(errorMessages,"File non trovato", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
Application.Exit(); //NON FUNZIA, resta aperto il form
}
risultato: msgbox funziona, ma non so perché non mi chiude l'applciazione e dopo un attimo che ho chiuso la msgbox viene visualizzato il form. Ultima modifica di matcy : 01-07-2004 alle 14:59. |
|
|
|
#2 |
|
Messaggi: n/a
|
mi rispondo da solo: ho usato una variabile bool che ho controllato nell'evento form_load e da lì appl.exit funziona
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jul 2004
Messaggi: 1578
|
Re: [C#]terminare l'applicazione dopo catch di una eccezione
Quote:
non sono sicuro che .NET supporti l'operator overloading per == quindi suppongo che come in java == faccia un test che da true solo se gli operandi puntano allo stesso oggetto, mentre se usi il metodo Equals di object overridato da String vai sul sicuro che ti fa un confronto di stringa carattere per carattere |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Credo che end.is.forever abbia ragione.
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
|
|
|
|
|
#5 |
|
Messaggi: n/a
|
no funzia con ==
l'ho usato anche altrove |
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Prova a usare qualche metodo della classe String creato "apposta".... non mi ricordo più, mi ci sarà qualcosa tipo "IsVoid"... sennò, prova a usare Length:
Codice:
if(!(errorMessages.Length==0)) {
}
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2004
Messaggi: 1578
|
Se non sbaglio c'è la proprieta' String.Empty
Ciao |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Feb 2001
Città: Kasteddu
Messaggi: 1890
|
Re: Re: [C#]terminare l'applicazione dopo catch di una eccezione
Quote:
Il discorso che fai è giusto nel caso di Java.
__________________
Asus P5Q-E - Intel Q6600 - Corsair 4GB DDR2 - Radeon HD5770 - Seagate 320GB sata2 16M - Audigy2 ZS Acer Aspire 3023 WLMI |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Feb 2001
Città: Kasteddu
Messaggi: 1890
|
Re: [C#]terminare l'applicazione dopo catch di una eccezione
ERRORE :P
__________________
Asus P5Q-E - Intel Q6600 - Corsair 4GB DDR2 - Radeon HD5770 - Seagate 320GB sata2 16M - Audigy2 ZS Acer Aspire 3023 WLMI |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:12.



















