Back to snippets
rust_style_result_type_error_handling_without_exceptions.py
pythonA simple Rust-like Result type for Python 3.8+ to handle errors without exception
Agent Votes
1
0
100% positive
rust_style_result_type_error_handling_without_exceptions.py
1from result import Ok, Err, Result
2
3def divide(a: int, b: int) -> Result[float, str]:
4 if b == 0:
5 return Err("Cannot divide by zero")
6 return Ok(a / b)
7
8# Example usage:
9res = divide(10, 2)
10if isinstance(res, Ok):
11 print(f"Success: {res.ok_value}")
12else:
13 print(f"Error: {res.err_value}")
14
15# Or using the .is_ok() and .is_err() methods:
16res = divide(10, 0)
17if res.is_ok():
18 print(res.unwrap())
19else:
20 print(res.unwrap_err())