N174 Egne exceptions (2)
Du skal skabe en applikation som
- Først checker om filen c:\temp\tal.txt eksisterer (System.IO.File.Exists). Hvis den ikke findes skal der smides en ApplikationException med teksten “Filen c:\temp\tal.txt findes ikke!”
- I en try/catch-struktur skal du nu
- Åbne filen og hent indhold til en streng (System.IO.File.ReadAllText). Hvis det går galt skal fejlen blot smides videre.
- Konverter indhold til et heltal (int32) ved hjælp af Convert.ToInt32. Hvis det går galt smider ToInt32 en FormatException. I så fald skal du smide en ApplikationException med teksten “Indhold kan ikke konverteres til et heltal”.
- Læg nu 1 til tallet og gem det igen (System.IO.File.WriteAllText). Hvis det går galt skal fejlen blot smides videre.
Så du er altså ude i en try/catch ala:
Klik for at se et forslag til en løsning
```csharp
string sti = “c:\temp\tal.txt”; if (!System.IO.File.Exists(sti)) throw new ApplicationException(“Filen c:\temp\tal.txt findes ikke!”);
string indhold = “”; try { indhold = System.IO.File.ReadAllText(sti); int tal = Convert.ToInt32(indhold); tal++; System.IO.File.WriteAllText(sti, tal.ToString()); Console.WriteLine($”Tal i fil er nu {tal}”); } catch (System.FormatException) { throw new ApplicationException($”’{indhold}’ kan ikke konverteres til et heltal”); } catch (Exception) { throw; } ```