Fejlhåndtering
Teori
Når der opstår fejl i et program kan man vælge at stoppe programmet eller gendanne lovlig tilstand.

Python og Rust har mange måder at håndtere fejl på, se hhv. [1] og [2].
Stoppe program
En nem måde at stoppe programmet ved fejl er vha. assert (se afsnit under fejlfinding).
I Rust kan man også bruge panic!.
Fortsætte program
I nogle tilfælde vil man gerne fortsætte programmet efter en fejl. Det kan fx være hvis brugeren skal vælge et tal og man gerne vil kunne give en ny mulighed efter forkert input.
Rust
I Rust kan fejl håndteres vha. Result.
Result<T, E> indeholder enten Ok(T) med et element af typen T eller Err(E) med en fejl af typen E.
fn divide(a: f64, b: f64) -> Result<f64, String> {
if b == 0.0 {
Err(String::from("Nævneren må ikke være nul"))
} else {
Ok(a / b)
}
}
fn main() {
let result = divide(10.0, 2.0);
let result2 = divide(10.0, 0.0);
match result {
Ok(quotient) => println!("Resultat: {}", quotient),
Err(e) => println!("Match fejl: {}", e),
}
println!("{}",result2.expect("Expect fejl: "));
}Python
I Python kan fejl håndteres vha. Exceptions og try-except mønstret.
raise kan bruges til at få en Exception til at opstå. Hvis en Exception ikke fanges ved en try-sætning så vil programmet stoppe.
Udover de indbyggede Exceptions kan man også definere sine egne.