thiserror
color-eyre
thiserror | color-eyre | |
---|---|---|
14 | 4 | |
4,021 | 924 | |
- | 1.1% | |
8.7 | 4.9 | |
14 days ago | 5 months ago | |
Rust | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
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.
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
What are some alternatives?
anyhow - Flexible concrete Error type built on std::error::Error
displaydoc - A derive macro for implementing the display Trait via a doc comment and string interpolation
gh-labels-cli - A CLI for managing labels in existing GitHub repositories
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.