cli: Use anyhow and thiserror for errors
This patch updates the CLI to use anyhow and thiserror for error management. The main feature that our custom `Error` type was providing was a _list_ of messages, which would allow us to annotate "lower-level" errors with more contextual information. This is exactly what's provided by anyhow's `Context` trait. (This is setup work for a future PR that will pull the `config` and `loader` modules out into separate crates; by using `anyhow` we wouldn't have to deal with a circular dependency between with the new crates.)
This commit is contained in:
parent
9d77561c43
commit
d2d01e77e3
33 changed files with 237 additions and 419 deletions
|
|
@ -231,11 +231,10 @@ fn test_feature_corpus_files() {
|
|||
|
||||
let expected_message = fs::read_to_string(&error_message_path).unwrap();
|
||||
if let Err(e) = generate_result {
|
||||
if e.message() != expected_message {
|
||||
if e.to_string() != expected_message {
|
||||
eprintln!(
|
||||
"Unexpected error message.\n\nExpected:\n\n{}\nActual:\n\n{}\n",
|
||||
expected_message,
|
||||
e.message()
|
||||
expected_message, e
|
||||
);
|
||||
failure_count += 1;
|
||||
}
|
||||
|
|
@ -250,8 +249,7 @@ fn test_feature_corpus_files() {
|
|||
if let Err(e) = &generate_result {
|
||||
eprintln!(
|
||||
"Unexpected error for test grammar '{}':\n{}",
|
||||
language_name,
|
||||
e.message()
|
||||
language_name, e
|
||||
);
|
||||
failure_count += 1;
|
||||
continue;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue