#macro #codebase

veilid-bugsalot

bugsalot的分支,以满足Veilid项目需求。调试宏和API,以交付稳定的代码库。

2个不稳定版本

0.2.0 2024年3月3日
0.1.0 2023年9月3日

#313 in 调试

Download history 57/week @ 2024-04-22 322/week @ 2024-04-29 48/week @ 2024-05-06 80/week @ 2024-05-13 80/week @ 2024-05-20 58/week @ 2024-05-27 194/week @ 2024-06-03 112/week @ 2024-06-10 89/week @ 2024-06-17 87/week @ 2024-06-24 56/week @ 2024-07-01 96/week @ 2024-07-08 236/week @ 2024-07-15 152/week @ 2024-07-22 319/week @ 2024-07-29 216/week @ 2024-08-05

每月 933 次下载
8 个crate中使用了(通过 veilid-core

MIT/Apache

43KB
557

bugsalot

GitHub unsafe: yes rust: 1.36.0+ License dependency status

此crate提供用于错误处理的宏和方法。特别是,我希望获得崩溃(错误报告、易于调试等)的所有优点,同时避免所有缺点(丢失进度、愤怒的玩家等)。Rust的错误处理机制(Try?Result等)很棒,但在处理实际错误时还有所欠缺。类似地,Rust的panic!.unwrap().expect()等在为错误提供上下文时表现尚可,但用于编写稳定软件时则不那么出色。此crate将尝试弥合这一差距。

分支 徽章 备注
发布 Crates.io Docs 稳定/发布版本
master Build Status Open issues 尚未发布的“已完成”内容。
wip/* “正在进行中” - 不完整,请自行承担风险。
dead/* 被遗弃的工作线程

平台

平台 断点 调试器 CI 稳定 beta 夜间
Windows Supported Supported Tests Status
Android Supported Supported Build Status
Linux Supported Supported Tests Status Status Status
(发布) Status
FreeBSD Untested Untested No
NetBSD Untested Untested No
OS X Untested Untested Tests Status
iOS Untested Untested Build Status
WASM Supported N/A Build Status

快速入门

将以下bugsalot依赖项之一添加到你的Cargo.toml

[dependencies]
bugsalot = "0.2"                                            # Or...
bugsalot = { version = "0.2", features = ["wasm-bindgen"] } # If using: wasm-pack
bugsalot = { version = "0.2", features = ["stdweb"]       } # If using: cargo web build

编写你的代码(有关更多信息,请参阅示例文档

use bugsalot::*;

fn main() {
    let _ = debugger::wait_until_attached(None); // Wait for a debugger to be attached

    loop {
        let a : Option<i32> = Some(42);
        let b : Result<i32, &'static str> = Err("Unavailable");
        let a = expect!(a, "Unable to do something or other", return);
        let b = expect!(b, "Unable to do something or other", break);
        // Debugger will pause on the above line, continuing will break out of the loop
    }

    expect!(true, "Booleans work too");
}

许可证

根据以下之一授权

任选其一。

贡献

除非你明确声明,否则任何有意提交以包含在作品中的贡献,如Apache-2.0许可证中定义的,应按上述方式双授权,不附加任何额外条款或条件。

依赖项

~0–670KB
~12K SLoC