color-eyre
thiserror
Our great sponsors
color-eyre | thiserror | |
---|---|---|
4 | 14 | |
924 | 4,021 | |
2.2% | - | |
4.9 | 8.7 | |
4 months ago | 8 days ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
color-eyre
-
Is this a good way of handling errors in Rust?
There are crates out there that help you reduce this boiler plate. thiserror is good for creating custom errors and color-eyre or anyhow are good for dynamic errors.
-
Unwraps EVERYWHERE
No, that's right! I forgot about that, sorry. I took a look again and the difference seems to be https://docs.rs/eyre/0.6.5/eyre/trait.EyreHandler.html, which allows one to change the way how Errors/Reports are shown. A good example for that is color-eyre.
-
How to debug Just My Code in Vscode?
Definitely more on the application ecosystem side, but I’ve personally found the combination of the tracing (https://tracing-rs.netlify.app/tracing/) crate (especially with liberal use of the instrument macro - https://tracing-rs.netlify.app/tracing/attr.instrument.html ) , color-eyre (https://github.com/yaahc/color-eyre — adding contexts as I bubble up errors ) and then wiring the whole thing up so I get tracing log entries, and spantraces / stacktraces just seems to provide me enough visibility. Most of my code has been running in async/tokio, so I have no idea what the debugging experience would even be across await points.
-
Rust: Structuring and handling errors in 2020 (2020)
Another crate to mention - eyre and color-eyre, basically a port of anyhow but a few bells and whistles, and an awesome colored error report formatter.
https://github.com/yaahc/color-eyre
thiserror
-
Rust Learning Note: Exception Handling
We can utilize third-party libraries to simplify the code above. For example thiserror (https://github.com/dtolnay/thiserror) provides convenien derive macro for Error trait:
- I can't get my mind around Result, Option, or basically how control flow works in most Rust programs
-
Ideas for crafting CLI in Rust
thiserror crate makes it easy to do so using macros on CliError enum.
-
I love building a startup in Rust. I wouldn't pick it again.
Depending on your use case, thiserror and/or anyhow.
-
Hey Rustaceans! Got a question? Ask here (52/2022)!
What is the benefit of splitting a proc-macro crate into (usually) two crates, proc_macro_crate and proc_macro_crate_impl? Why not just have one crate? Does it offer any benefits to to overall compilation times? An example of this can be seen in the thiserror crate where there's a thiserror and thiserror_impl crate.
-
Parsing of DeviceId
You might want to use thiserror to generate implementation for Error and Display.
-
Rust for web development: 3 years later
thiserror for my error types.
-
What crates would you consider essential?
thiserror - https://crates.io/crates/thiserror
-
Generics can make your Go code slower
I dont think you realize how ridiculous this comment is. Youre comparing 10 lines of Go, with 200 of Rust:
https://github.com/dtolnay/thiserror/blob/master/src/lib.rs
-
Is this a good way of handling errors in Rust?
There are crates out there that help you reduce this boiler plate. thiserror is good for creating custom errors and color-eyre or anyhow are good for dynamic errors.
What are some alternatives?
anyhow - Flexible concrete Error type built on std::error::Error
gh-labels-cli - A CLI for managing labels in existing GitHub repositories
displaydoc - A derive macro for implementing the display Trait via a doc comment and string interpolation
tracing - Application level tracing for Rust.
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266
proposal - Go Project Design Documents
pico-args - An ultra simple CLI arguments parser.
futures-rs - Zero-cost asynchronous programming in Rust
usbarmory - USB armory - The open source compact secure computer
rust - Empowering everyone to build reliable and efficient software.
rand - A Rust library for random number generation.