Drei Arten von Fehlern
Syntaxfehler zeigt der Compiler sofort an. Laufzeitfehler heißen in C# Exceptions (Ausnahmen). Logikfehler findest du nur durch Testen und Debuggen.
Exceptions behandeln
Eine Exception unterbricht das Programm, bis jemand sie abfängt. Dafür dienttry und catch:
Den Fehler selbst bekommst du über eine Variable:
Häufige Exceptions
Eigene Fehler auslösen
Mitthrow meldest du selbst einen Fehler, wenn eine Methode mit unsinnigen Werten aufgerufen wird:
Debugging
Der Debugger hält das Programm an einer Stelle an, damit du Variablen ansehen und Schritt für Schritt weitergehen kannst.1
Haltepunkt setzen
Klicke links neben die Zeilennummer oder drücke
F9. Das Programm stoppt dort.2
Mit Debugger starten
Starte mit
F5. Am Haltepunkt siehst du die aktuellen Werte aller Variablen.3
Schritt für Schritt gehen
Mit
F10 führst du die Zeile aus, mit F11 springst du in eine aufgerufene Methode hinein. F5 läuft bis zum nächsten Haltepunkt.Die Tastenkürzel gelten für Visual Studio. In Visual Studio Code sind sie sehr ähnlich:
F5 startet, F9 setzt einen Haltepunkt, F10 und F11 gehen Schritt für Schritt.Dateien lesen und schreiben
Die KlasseFile im Namespace System.IO deckt die häufigsten Fälle mit einem Aufruf ab.
notizen.txt bezieht sich auf das Arbeitsverzeichnis des Programms. Bei dotnet run ist das der Projektordner.
Pfade zusammensetzen
Baue Pfade nie von Hand zusammen, sondern mitPath:
Dateien sicher öffnen
Streams und andere Ressourcen, die belegt werden, schließtusing automatisch, selbst bei einem Fehler:
Dateizugriff mit Fehlerbehandlung
Für große Dateien liest du besser Zeile für Zeile mit
StreamReader, statt alles auf einmal in den Speicher zu laden.Weiter
4.2.8 Beispielprojekte
Das Gelernte in vier kleinen Programmen anwenden.