Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/home/ounis/pyapps/virtual_env/test_result/bin/python
- '''
- Python errors as values: Comparing useful patterns from Go and Rust
- https://www.inngest.com/blog/python-errors-as-values?fbclid=IwAR2DwzgjiRm2W2TL70VMUwjdY_xX0aLbIqusr2WdRIBpF7NzzuzIwq65qBU
- https://pypi.org/project/result/
- '''
- from result import Result, Ok, Err
- def divide(a: int, b: int) -> Result[int, str]:
- '''
- jazda bez trzymanki
- '''
- # result = 0
- # result = a // b
- #
- # return Ok(result)
- if b == 0:
- return Err("Cannot divide by zero")
- return Ok(a // b)
- values = [(6, 2),(10, 0), (10, 5)]
- for i, (a, b) in enumerate(values,1):
- print(i)
- divide_result = divide(a, b)
- match divide_result:
- case Ok(value):
- print(f"{a} // {b} == {value}", flush=True)
- case Err(e):
- print(e)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement