#error #helper #library

torrust-tracker-located-error

一个库,提供具有错误位置和原始错误源的错误装饰器

5个版本

3.0.0-alpha.112023年9月18日
3.0.0-alpha.102023年9月16日
3.0.0-alpha.32023年7月10日
3.0.0-alpha.22023年4月13日
3.0.0-alpha.1 2023年3月17日

#153 in #library

Download history 2/week @ 2024-04-14 3/week @ 2024-04-21 7/week @ 2024-05-26 4/week @ 2024-06-02 1/week @ 2024-06-09 1/week @ 2024-06-16 1/week @ 2024-06-23 10/week @ 2024-06-30 6/week @ 2024-07-14 1/week @ 2024-07-21 63/week @ 2024-07-28

79 每月下载量
用于 3 个crate(2个直接使用)

自定义许可

15KB
87

Torrust Tracker Located Error

一个库,提供具有错误位置和原始错误源的错误装饰器。

文档

crate文档.

许可

该项目遵循GNU AFFERO GENERAL PUBLIC LICENSE条款。


lib.rs:

此crate提供对包含错误位置的错误的包装。

use std::error::Error;
use std::panic::Location;
use std::sync::Arc;
use torrust_tracker_located_error::{Located, LocatedError};

#[derive(thiserror::Error, Debug)]
enum TestError {
    #[error("Test")]
    Test,
}

#[track_caller]
fn get_caller_location() -> Location<'static> {
    *Location::caller()
}

let e = TestError::Test;

let b: LocatedError<TestError> = Located(e).into();
let l = get_caller_location();

assert!(b.to_string().contains("Test, src/lib.rs"));

鸣谢

https://stackoverflow.com/questions/74336993/getting-line-numbers-with-when-using-boxdyn-stderrorerror

依赖

~87KB