首页 > 解决方案 > 如何在 web3.js 中正确使用还原原因在 UI 中显示有意义的错误消息

问题描述

我想使用 web3.js 向用户显示还原原因,例如在用户尝试铸造已经铸造的 erc721 令牌的情况下。我正在使用 try catch 块并查看错误消息,但我想隔离错误消息以向用户显示有意义的原因。提前致谢。

标签: ethereumweb3jsdecentralized-applications

解决方案


@Petr Hejda 之前的回答对我没有用,他的建议也没有回应@Chakshu Jain在评论中的问题。

相反,我从开头和结尾删除了一些slice()在解析 JSON 时导致错误的字符,因此我可以处理错误消息并获取错误消息。

 if (err) {
        
        var errorMessageInJson = JSON.parse(
          err.message.slice(58, err.message.length - 2)
        );

        var errorMessageToShow = errorMessageInJson.data.data[Object.keys(errorMessageInJson.data.data)[0]].reason;

        alert(errorMessageToShow);
        return; 
}

推荐阅读