We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Talks - Bruce Eckel: Functional Error Handling
Learn how functional error handling with Result types improves code reliability and composition compared to exceptions, with practical examples using Python's returns library.
- 
    
Functional error handling provides better composability compared to traditional exception handling by making errors part of the type system
 - 
    
The Result type pattern separates successful values from errors, allowing clear distinction between recoverable errors and unrecoverable panics
 - 
    
Traditional exceptions have several drawbacks:
- Not part of the type system
 - Break composition
 - Destroy partial calculations in larger computations
 - Mix different categories of errors
 - Make error handling implicit
 
 - 
    
The
returnslibrary for Python implements functional error handling through:- Result types to wrap success/failure values
 - Bind operations for function composition
 - Type checking integration
 - Decorators to convert exception-throwing functions
 
 - 
    
Benefits of functional error handling:
- Explicit error handling in types
 - Better composability of functions
 - Preservation of partial calculations
 - Clearer distinction between error categories
 - Static type checking of error handling
 
 - 
    
Error handling belongs in the language domain rather than operating system level for better integration
 - 
    
The approach requires some tradeoffs:
- More verbose syntax
 - Needs type system support
 - May still need to handle some exceptions
 - Requires mindset shift from traditional exception handling
 
 - 
    
This pattern is becoming more common in modern languages like Rust and Kotlin which have built-in support for Result types