mirror of
https://github.com/haraldh/chainerror.git
synced 2025-06-03 15:04:35 +02:00
use #[track_caller]
and Location
This commit is contained in:
parent
e2815321bc
commit
356335e807
21 changed files with 515 additions and 548 deletions
|
@ -1,4 +1,4 @@
|
|||
use chainerror::*;
|
||||
use chainerror::prelude::v1::*;
|
||||
use std::error::Error;
|
||||
use std::io;
|
||||
|
||||
|
@ -6,13 +6,14 @@ use std::io;
|
|||
#[test]
|
||||
fn test_iter() -> Result<(), Box<dyn Error + Send + Sync>> {
|
||||
use std::fmt::Write;
|
||||
let err = io::Error::from(io::ErrorKind::NotFound);
|
||||
let err = cherr!(err, "1");
|
||||
let err = cherr!(err, "2");
|
||||
let err = cherr!(err, "3");
|
||||
let err = cherr!(err, "4");
|
||||
let err = cherr!(err, "5");
|
||||
let err = cherr!(err, "6");
|
||||
let err: Result<(), _> = Err(io::Error::from(io::ErrorKind::NotFound));
|
||||
let err = err.cherr("1");
|
||||
let err = err.cherr("2");
|
||||
let err = err.cherr("3");
|
||||
let err = err.cherr("4");
|
||||
let err = err.cherr("5");
|
||||
let err = err.cherr("6");
|
||||
let err = err.err().unwrap();
|
||||
|
||||
let mut res = String::new();
|
||||
|
||||
|
@ -34,13 +35,14 @@ fn test_iter() -> Result<(), Box<dyn Error + Send + Sync>> {
|
|||
#[cfg(feature = "display-cause")]
|
||||
#[test]
|
||||
fn test_iter() -> Result<(), Box<dyn Error + Send + Sync>> {
|
||||
let err = io::Error::from(io::ErrorKind::NotFound);
|
||||
let err = cherr!(err, "1");
|
||||
let err = cherr!(err, "2");
|
||||
let err = cherr!(err, "3");
|
||||
let err = cherr!(err, "4");
|
||||
let err = cherr!(err, "5");
|
||||
let err = cherr!(err, "6");
|
||||
let err: Result<(), _> = Err(io::Error::from(io::ErrorKind::NotFound));
|
||||
let err = err.cherr("1");
|
||||
let err = err.cherr("2");
|
||||
let err = err.cherr("3");
|
||||
let err = err.cherr("4");
|
||||
let err = err.cherr("5");
|
||||
let err = err.cherr("6");
|
||||
let err = err.err().unwrap();
|
||||
|
||||
let res = err.to_string();
|
||||
|
||||
|
@ -58,13 +60,14 @@ fn test_iter() -> Result<(), Box<dyn Error + Send + Sync>> {
|
|||
|
||||
#[test]
|
||||
fn test_find_cause() -> Result<(), Box<dyn Error + Send + Sync>> {
|
||||
let err = io::Error::from(io::ErrorKind::NotFound);
|
||||
let err = cherr!(err, "1");
|
||||
let err = cherr!(err, "2");
|
||||
let err = cherr!(err, "3");
|
||||
let err = cherr!(err, "4");
|
||||
let err = cherr!(err, "5");
|
||||
let err = cherr!(err, "6");
|
||||
let err: Result<(), _> = Err(io::Error::from(io::ErrorKind::NotFound));
|
||||
let err = err.cherr("1");
|
||||
let err = err.cherr("2");
|
||||
let err = err.cherr("3");
|
||||
let err = err.cherr("4");
|
||||
let err = err.cherr("5");
|
||||
let err = err.cherr("6");
|
||||
let err = err.err().unwrap();
|
||||
|
||||
let io_error: Option<&io::Error> = err.find_cause::<io::Error>();
|
||||
|
||||
|
@ -75,13 +78,14 @@ fn test_find_cause() -> Result<(), Box<dyn Error + Send + Sync>> {
|
|||
|
||||
#[test]
|
||||
fn test_root_cause() -> Result<(), Box<dyn Error + Send + Sync>> {
|
||||
let err = io::Error::from(io::ErrorKind::NotFound);
|
||||
let err = cherr!(err, "1");
|
||||
let err = cherr!(err, "2");
|
||||
let err = cherr!(err, "3");
|
||||
let err = cherr!(err, "4");
|
||||
let err = cherr!(err, "5");
|
||||
let err = cherr!(err, "6");
|
||||
let err: Result<(), _> = Err(io::Error::from(io::ErrorKind::NotFound));
|
||||
let err = err.cherr("1");
|
||||
let err = err.cherr("2");
|
||||
let err = err.cherr("3");
|
||||
let err = err.cherr("4");
|
||||
let err = err.cherr("5");
|
||||
let err = err.cherr("6");
|
||||
let err = err.err().unwrap();
|
||||
|
||||
let err: Option<&(dyn std::error::Error + 'static)> = err.root_cause();
|
||||
let io_error: Option<&io::Error> = err.and_then(Error::downcast_ref::<io::Error>);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue