Hej udviklere,
Jeg har lavet et program(I C#), som beregner hvor mange dage der er imellem 2 indtastede datoer. Jeg ville så gerne have lavet en undtagelseshåndtering, der smed nogle mere forståelige fejlbeskeder ud til brugeren. De to Exceptions, som der er chance for at få er 'ArgumentOutOfRangeException' og 'FormatException'.
Jeg har derfor lavet en Try, Catch løkke:
try
{
DateTime Dato1 = new DateTime(iYear1,iMonth1,iDay1);
DateTime Dato2 = new DateTime(iYear2,iMonth2,iDay2);
if (Dato1 < Dato2)
{
DateTime TmpDato1 = Dato2;
DateTime TmpDato2 = Dato1;
Dato1 = TmpDato1;
Dato2 = TmpDato2;
}
TimeSpan Forskel = Dato1 - Dato2;
int DageMellemDatoer = Forskel.Days;
lResultat.Text = "Dage mellem de to datoer: ";
lResultat.Text += DageMellemDatoer;
}
catch(FormatException)
{
MessageBox.Show("Datoerne skal skrives som tal");
}
catch(ArgumentOutOfRangeException)
{
MessageBox.Show("En eller flere af datoerne er ikke korrekt(e)");
}
Ovenstående fungerer fint når jeg laver en 'ArgumentOutOfRangeException', men smider "standard" fejlbeskeden ud på 'FormatException'
Nogen der har en idé om hvorfor det sker og hvordan det kan løses?
EDIT:
Jeg mener at kunne huske fra min C# bog, at når man havde mere end et Catch Statement, så skulle man sørge for at de var i rigtig rækkefølge, pga. et eller andet hieraki(<-- Eller hvordan det nu staves
)
[Redigeret d. 23/05-05 17:26:34 af PHP-Nørden]