有没有办法向promise的失败回调传递任何有意义的消息,而不是“std::exception”?在源码中,我找到了下面的“void FB::variantDeferred::reject(std::exception e) const”规范。似乎当使用从std::exception派生的任何异常调用reject时,切片就会发生,正确的异常消息就会丢失。除了通过成功回调传递错误之外,还有什么解决方法吗?
发布于 2015-11-11 23:32:07
std::exception只是一个用于在C++中创建异常的基类。您可以使用许多不同的方法传回特定的字符串;例如,您可以抛出一个接受消息的std::runtime_error。
您还可以子类化std::exception并提供std::exception::what的实现,该实现返回所需内容的有用字符串表示。
FireBreath 2.0在创建错误对象时将使用来自e.what()的错误消息。如果你很好奇它是如何工作的,你可以在代码中找到它:
https://stackoverflow.com/questions/33647949
复制相似问题