scoped-error
Structured error handling with semantic context trees.
This library provides scoped_error::Error, a context-aware error type for
idiomatic error handling with virtual backtraces - semantic breadcrumbs
attached exactly where they matter.
Philosophy
Explicit context over automatic backtraces. Instead of capturing 50
frames of stack on every error, scoped_error lets you attach meaningful
context at semantic boundaries. The result is information-dense,
user-facing error reports without runtime overhead.
Quick Start
use FromStr;
use ;
;
Output:
Error: loading configuration, at src/main.rs:27:20
|-- reading file, at src/main.rs:15:12
`-- No such file or directory (os error 2)
Multiple Concurrent Failures
Unlike most error libraries, scoped_error natively handles parallel
operations with Many:
use Many;
let results = vec!;
let values = from_results?;
Output:
Error: batch operation failed, at src/main.rs:10:5 (3 errors)
|-- task A failed, at src/worker.rs:8:9
| `-- connection timeout
|-- task B failed, at src/worker.rs:12:9
| `-- invalid response
`-- task C failed, at src/worker.rs:16:9
`-- parse error
Why scoped_error?
See https://kanru.info/scoped-error/
License
Apache-2.0 WITH LLVM-exception