8个版本
使用旧Rust 2015
0.3.2 | 2018年9月1日 |
---|---|
0.3.1 | 2018年7月28日 |
0.3.0 | 2018年6月17日 |
0.2.4 | 2018年5月8日 |
0.2.3 | 2018年4月24日 |
#47 in #exception
28 每月下载量
在 shippai 中使用
4KB
58 代码行
Shippai
其他语言的失败处理
Shippai是一组库,帮助您处理来自其他语言的Fail
风格的错误。
目前该项目包括
示例
查看Python示例,了解所有这些是如何协同工作的。以下是堆栈跟踪的示例
$ make install-dev
$ RUST_BACKTRACE=1 python
Python 3.6.5 (default, May 11 2018, 04:00:52)
[GCC 8.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import shippai_example
>>> shippai_example.authenticate('', '')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/untitaker/projects/shippai/examples/python/shippai_example/__init__.py", line 25, in authenticate
errors.check_exception(err[0])
File "/home/untitaker/projects/shippai/python/shippai/__init__.py", line 144, in check_exception
_raise_with_more_frames(exc, frames)
File "/home/untitaker/projects/shippai/python/shippai/__init__.py", line 262, in _raise_with_more_frames
_append_frame(exc_info, frames[-1])
File "/home/untitaker/projects/shippai/python/shippai/__init__.py", line 296, in _append_frame
exec(code, ns)
File "/home/untitaker/projects/shippai/examples/python/rust/src/lib.rs", line 43, in authenticate
let res = authenticate_impl(
File "/home/untitaker/projects/shippai/examples/python/rust/src/lib.rs", line 27, in shippai_example::authenticate_impl::he2a2e071e069a869
return Err(MyError::UserWrong.into());
File "/checkout/src/libcore/convert.rs", line 396, in <T as core::convert::Into<U>>::into::hda623f1239c06654
shippai.UserWrong: Invalid username
>>>
注意事项
Shippai仍在开发中,许多功能尚未实现。(查看问题跟踪器)
我对我在做什么也没有头绪。如果您在这里看到有趣的代码(尤其是在FFI部分),请不要假设它是出于某种良好的原因。告诉我我哪里错了。
许可证
Shippai采用MIT许可证,请参阅LICENSE
。
依赖关系
~2MB
~48K SLoC