Appearance
Kapitel 16: Häufige Fehler und Lösungen
16.1 Häufiger Fehler 1: Fehler bei der Verwendung von Null-Sicherheit
Fehler
dart
String name; // Nicht initialisiert
print(name); // Fehler: Non-nullable variable 'name' must be assigned before it can be usedLösung
dart
String name = 'Dart'; // Initialisieren
// oder
String? name; // Nullable machen16.2 Häufiger Fehler 2: Falsche Verwendung von Funktionsparametern
Fehler
dart
void gruß(String name, int alter) { // Erforderliche Parameter
print('Hallo ' + name);
}
void main() {
gruß(); // Fehler: Zu wenig Argumente
}Lösung
dart
void gruß([String? name, int alter = 0]) { // Optionale Parameter
print('Hallo ' + (name ?? 'Gast'));
}
void main() {
gruß(); // Korrekt
}16.3 Häufiger Fehler 3: Falsche Ausführungsreihenfolge bei asynchronem Code
Fehler
dart
Future<void> datenHolen() async {
String daten = await holeDaten();
print(daten);
}
void main() {
datenHolen();
print('Andere Aufgaben'); // Wird zuerst ausgeführt
}Lösung
dart
Future<void> main() async {
await datenHolen();
print('Andere Aufgaben'); // Wird nach datenHolen ausgeführt
}16.4 Häufiger Fehler 4: Fehler beim Vererben und Überschreiben von Klassen
Fehler
dart
class Tier {
void geräusch() {
print('Tier macht Geräusch');
}
}
class Hund extends Tier {
void geräusch() { // Fehlt @override
print('Hund bellt');
}
}Lösung
dart
class Hund extends Tier {
@override
void geräusch() {
print('Hund bellt');
}
}16.5 Häufiger Fehler 5: Falscher Bibliotheksimportpfad, Drittanbieter-Bibliotheksinstallation fehlgeschlagen
Fehler
dart
import 'math_utils.dart'; // Falscher PfadLösung
dart
import '../lib/math_utils.dart'; // Richtiger Pfad
// oder
import 'package:projekt/lib/math_utils.dart'; // Package-PfadFür Drittanbieter-Bibliotheken:
yaml
# pubspec.yaml
dependencies:
http: ^1.0.0bash
dart pub get16.6 Debugging-Tipps
- VS Code Debugging: Haltepunkte setzen, Variablen überwachen
- print(): Einfache Debug-Ausgabe
- Protokollierung: Verwende
dart:developerfür erweiterte Protokollierung
