首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >捕获GuzzleHttp \ Exception \ ConnectException并显示自定义消息

捕获GuzzleHttp \ Exception \ ConnectException并显示自定义消息
EN

Stack Overflow用户
提问于 2019-08-09 13:02:45
回答 1查看 2.6K关注 0票数 0

为了捕捉这个错误并向用户显示一条自定义消息,我无法进行任何工作,我尝试使用web3js和laravel https://github.com/IlyasDeckers/web3php

当我试着用这个

代码语言:javascript
复制
      $eth = new \IlyasDeckers\Web3PHP\Ethereum(env('WEB3_URL'), env('WEB3_PORT'));
     try {
        $eth = $eth->eth_getBalance('0x8fbb99e9e73cd62bb3adea5365ff0f9d90c9e532', $block='latest', $decode_hex=false);
    }

    catch(ConnectException $e) {
    echo 'Message: ' .$e->getMessage();
    exit;
   }

我得到了一个不能被发现的错误,有人能帮上忙吗?

GuzzleHttp \ Exception \ ConnectException cURL错误7:未能连接到127.0.0.1端口8545:连接被拒绝(参见http://curl.haxx.se/libcurl/c/libcurl-errors.html)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-09 13:12:54

对我来说,这听起来很像是你没有运行Ethereum节点。它正试图连接到端口8545的本地主机。

如果正在运行节点,请检查端口!

如果没有运行节点,那么要么设置一个节点,要么找到一个允许您连接的节点(tbh的可能性要小得多)。

更新

我注意到您正在捕获一个ConnectException,完全限定的类名为GuzzleHttp\Exception\ConnectException

如果没有使用use语句导入类名,则需要将代码更改为:

代码语言:javascript
复制
catch (\GuzzleHttp\Exception\ConnectException) {

(注意前面的反斜杠)。然而,这并不是推荐的方法。最好在脚本顶部导入所有类:

代码语言:javascript
复制
use GuzzleHttp\Exception\ConnectException;

这样,您就可以立即看到脚本中使用的所有类,并且可以在整个代码中将类引用为ConnectException

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57430654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档