• Marvichov
    2021-12-12
    https://github.com/dtolnay/thiserror > Use **thiserror** if you care about designing your own dedicated error type(s) so that the caller receives exactly the information that you choose in the event of failure. This most often applies to library-like code. Use **Anyhow** if you **don't care** what error type your functions return, you just want it to be easy. This is common in application-like code.

    作者回复: 👍

    共 2 条评论
    6
  • 记事本
    2021-10-04
    这章比较简单,打卡!

    作者回复: 加油!

    
    3
  • ddh
    2021-11-11
    之前看过rust错误处理的知识,不是很清稀,今天完全明朗了, 哈哈

    作者回复: 👍

    
    1
  • 阿海
    2021-10-04
    从这章就可以看出老师平时理解了很多技术领域的东西,很想知道老师有博客之类的的吗

    作者回复: 我有个公众号:programmer_life

    
    1
  • qinsi
    2021-10-04
    golang 中可用 errors.Errorf 或 (go1.13+)fmt.Errorf 实现错误嵌套。 大致看了下rust中要实现相同的功能的话,也是要先定义自定义的错误类型,然后实现Error trait。这一步可以手动实现,或是使用thiserror来derive。wrap错误时则可以用Box<Error>或anyhow,不过就失去了自定义错误类型的好处。还是通过thiserror来生成From trait的实现为好,这样就可以通过`?`一路"开火车"下去了。 有意思的是上述golang中的errors pkg原本就是为了解决标准库中Error无法嵌套等问题而产生的第三方库,在社区流行开之后就被标准库吸收了其中的思想。rust生态中的错误处理应该也会经历相似的发展阶段吧。

    作者回复: 会的。未来不排除类似 thiserror 的库被吸收进去。

    
    1
  • 罗杰
    2021-10-04
    第一时间打卡

    编辑回复: 哈哈棒👍

    
    1
  • nuan
    2022-02-09
    晕了几章后,稍稍轻松一下。
    
    13
  • Geek_6b6c0a
    2023-02-08 来自美国
    Railroad oriented programming 是我最喜欢的talk之一,没想到在这里看到了哈哈
    
    1
  • 杨学者
    2023-01-01 来自上海
    请教rust如何对错误进行打印traceback?我发现anyhow和traceback-rs可以打印,this error好像不行,不过anyhow粒度太粗了,不知有啥好办法?
    
    
  • Geek_a6c6ce
    2022-09-06 来自美国
    咔哒
    
    