View Single Post
m0b
m0b's Avatar
DonorAdministrator
Sitat av 0xFF Vis innlegg
Du kan også løse det på måten som @nso foreslår. Men jeg vil fortsatt anbefale deg en try-catch blokk, for dette vil også fange opp eventuelt andre errorer i dataen som du ønsker å parse.

Kode

while(<BETINGELSE>)
{
	try
	{
		result = Int32.Parse(values[i]);
	}
	catch(ArgumentNullException ex)
	{
		// Håndtere «values[i] is null» exception
	}
	catch(FormatException ex)
	{
		// Håndtere «values[i] is not in the correct format.» exception
	}
	catch(OverflowException ex)
	{
		// Håndtere «values[i] represents a number less than MinValue or greater than MaxValue.» exception
	}
	
}
Som du ser så kan Int32.Parse() kaste 3 forskjellige typer exceptions. Ved å lage en loop som looper igjennom f.eks en array og prøver å parse hver enkelt verdi, så vil du kunne få feilmeldinger hvis den feiler med å parse en verdi. Og på den måten så kan du drive debugging for å finne ut hva i dataen din som du prøver å parse, er årsaken til dette.
Vis hele sitatet...
Her tror jeg det kan være greit å gjøre om rekkefølgen på try-catch og while-loopen. Husk på at du genererer ovehead med try-catch og for hver iterasjon skal stacket med. Her skal du uansett også stoppe etter første exception.