-
Notifications
You must be signed in to change notification settings - Fork 0
Guide error handling
Version: 3.1.0 β
(Neu)
Status: VollstΓ€ndig implementiert
Der VelinScript Compiler bietet ein umfassendes Fehlerbehandlungssystem mit intelligenten LΓΆsungsvorschlΓ€gen fΓΌr alle Fehlertypen. Dies hilft Entwicklern, Fehler schnell zu identifizieren und zu beheben.
Tritt auf, wenn die Syntax ungΓΌltig ist.
β Parse error: Unexpected token at line 5, column 10
π‘ Did you mean: 'fn'?
π§ LΓΆsungsvorschlag: Function declarations use 'fn', not 'function'
HΓ€ufige Ursachen:
- Falsche Keywords (
functionstattfn) - Fehlende Klammern
- UnvollstΓ€ndige Generics
Tritt auf, wenn Typen nicht kompatibel sind.
β Type error: Type mismatch at line 12, column 15
π‘ Expected: string
π‘ Found: number
π§ Nutze explizite Typ-Annotationen
HΓ€ufige Ursachen:
- Type Mismatch
- Undefined Variable
- Falsche Argument-Anzahl
Tritt auf bei der Code-Generierung fΓΌr Zielsprache.
β Code Generation Error: IR code generation failed
π Target: Rust
π§ PrΓΌfe die IR-Validierung
Tritt auf bei Datei-Operationen.
β IO Error: File not found: test.velin
π§ PrΓΌfe den Dateipfad
Tritt auf bei Validierung.
β Validation Error: Field is required
π Feld: name
π§ Stelle sicher, dass alle Pflichtfelder vorhanden sind
Tritt auf bei ungΓΌltiger Konfiguration.
β Configuration Error: Invalid JSON
π§ PrΓΌfe velin.config.json auf Syntax-Fehler
Der Compiler verwendet Levenshtein-Distanz um Γ€hnliche Befehle/Variablen vorzuschlagen:
β Undefined variable: userNmae
π‘ Did you mean: 'userName'?
Jeder Fehlertyp erhΓ€lt spezifische Tipps:
// Fehler: Typ mismatch
let x: string = 42;
// β Type error: Type mismatch at line 1, column 15
// π‘ Beispiel fΓΌr explizite Typ-Annotation:
// let x: string = "hello";
// let y: number = 42;
Der Compiler verlinkt zu relevanten Dokumentationen:
π§ LΓΆsungsvorschlΓ€ge:
- Siehe: docs/language/specification.md
- Siehe: docs/guides/getting-started.md
try {
let data = http.get("https://api.example.com/data");
process(data);
} catch err {
log.error("API request failed: " + err.message);
alert.send("API Error!");
}
@POST("/api/users")
fn createUser(userData: UserInput): Result<User, Error> {
// Validiere sofort
if (userData.email == "") {
return Result.Err("Email erforderlich");
}
if (userData.password.length < 12) {
return Result.Err("Passwort muss mindestens 12 Zeichen lang sein");
}
// Erstelle User
let user = User { /* ... */ };
return Result.Ok(user);
}
// β Schlecht
if (count > 100) {
return Result.Err("Invalid");
}
// β
Gut
if (count > 100) {
return Result.Err("User count exceeds maximum of 100");
}
try {
process(data);
} catch err {
log.error("Processing failed", {
userId: user.id,
dataSize: data.length,
error: err.message,
timestamp: now(),
});
}
Der Compiler sammelt Fehlerstatistiken:
β Kompilierung fehlgeschlagen mit 2 Fehlern:
β Parse error: Unexpected token at line 5, column 10
β Type error: Type mismatch at line 12, column 15
β οΈ 2 Warnung(en):
β οΈ Warning: Deprecated function
β οΈ Warning: Unused variable
Fehlerstatistiken:
- Parse Errors: 1
- Type Errors: 1
- Warnings: 2
$ velin check -i main.velin
β Kompilierung fehlgeschlagen mit 1 Fehler:
β Type error: Type mismatch at line 12, column 15
π Datei: main.velin
π Position: Zeile 12, Spalte 15
π‘ Did you mean: 'length'?
π‘ Beispiel fΓΌr explizite Typ-Annotation:
let x: number = 42;
let name: string = "John";
π§ LΓΆsungsvorschlΓ€ge:
- PrΓΌfe die Typen deiner Variablen
- Nutze explizite Typ-Annotationen bei Unsicherheit
- Siehe: docs/guides/tutorial-1-basics.md
π‘ Tipp: Nutze 'velin check --autofix' fΓΌr automatische Korrekturenvelin compile -i main.velin --export-errors errors.json{
"errors": [
{
"type": "Parse",
"message": "Unexpected token",
"line": 5,
"column": 10,
"suggestion": "Did you mean: 'fn'?"
}
],
"warnings": [],
"statistics": {
"parse_errors": 1,
"type_errors": 0,
"warnings": 0
}
}velin compile -i main.velin --export-errors-html report.htmlGeneriert einen professionellen HTML-Report mit:
- Fehler- und Warning-Kategorisierung
- Statistik-Dashboard
- Responsive Design
# Nur Parse-Fehler
velin check -i main.velin --filter parse
# Nur kritische Fehler
velin check -i main.velin --filter critical
# Alle Fehler
velin check -i main.velin --filter allDer VelinScript VS Code Extension zeigt Fehler mit LΓΆsungsvorschlΓ€gen:
β Type error on line 12
π‘ Quick Fix: Add type annotation
π‘ Did you mean: 'userName'?
- name: VelinScript Check
run: |
velin check -i src/main.velin \
--export-errors-html report.html
if [ -s errors.json ]; then exit 1; fi- Language Specification - Sprachspezifikation
- Getting Started - Erste Schritte
- CLI-Reference - CLI-Befehle
Erstellt: 2026-02-02
Version: 3.1.0
- Compiler Architecture
- Pass-Verlauf
- Type Inference
- Code Ordering
- IR Representation
- Borrow Checker
- Code Generation
- Multi-Target Compilation
- Module Resolution
- Framework Integration
- Parallelization
- AI Compiler Passes
- Prompt Optimizer
- System Generation
- Basics
- APIs
- Security
- Database
- Validation
- Authentication
- ML/LLM
- Intelligence Features
- Type Inference
- ML Training
- Pattern Matching
- Closures
- Collections
- HTTP Client
- String Interpolation
- Debugger
- Vektor-Datenbanken
- CLI Reference
- API Keys Setup
- Advanced
- Backend
- Security Best Practices
- AI/ML
- Auto Imports
- Plugin Development