PDA

View Full Version : [c#]Common dialog e gestione eccezioni


pmhwp
16-03-2008, 23:49
Ciao,
ho bisogno di gestire le eccezioni con i try e catch all'apertura di una commondialog per l'apertura di un file xml.

Questo è quello che ho scritto pero' non so bene come vada implementato con le eccezioni.


openFile.InitialDirectory = "d:\\";
openFile.Filter = "xml files (*.xml)|*.xml";
openFile.FilterIndex = 2;
openFile.ShowReadOnly = true;
openFile.ReadOnlyChecked = true;
openFile.CheckFileExists = false;

if (openFile.ShowDialog() == DialogResult.OK)
{
//hai premuto ok?
}
else if (openFile.ShowDialog() == DialogResult.Abort)
{
//hai premuto annulla?
}

Come dovrei fare?
Grazie.

Einstein
17-03-2008, 09:31
In quale caso il programma dovrebbe sollevare un'eccezione?

pmhwp
18-03-2008, 17:58
Per esempio alla pressione del pulsante Annulla bloccando il tutto e tornando allo stato precedente alla pressione.

Einstein
24-05-2008, 20:27
Non mi sembra un caso da gestire con un'eccezione.
Un'eccezione è un comportamento "imprevisto" del programma, e il tuo caso è un normale flusso che puoi gestire con un if().
Ricorda di non abusare mai delle eccezioni: è una cosa laboriosa anche per il runtime, che deve mettere in piedi un "impianto" non indifferente.

RaouL_BennetH
25-05-2008, 18:31
Per esempio alla pressione del pulsante Annulla bloccando il tutto e tornando allo stato precedente alla pressione.

Quoto Einstein. Potresti provare più semplicemente con:



if(MessageBox.Show("Hai scelto di annullare l'operazione, continui?", "ANNULLAMENTO OPERAZIONE", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
{
//fai quel che devi
}