如何捕获[Symfony \ Component \ Debug \ Exception \ ContextErrorException]

时间:2015-11-09 13:48:48

标签: php symfony exception ssh

我正在尝试使用symfony创建一个php命令,通过ssh连接到服务器。 这一切都没关系,但如果我无法连接到服务器(服务器无法访问),我会接受此错误:

[Symfony\Component\Debug\Exception\ContextErrorException]             
Warning: ssh2_connect(): Unable to connect to skin-master on port 22  

这没关系,但如果我试图捕捉到这样的错误:

try{
                $exec=$this->ssh_connect($cinema);
            }
            catch(\Exception $e){
                echo $e;
                $this->no_connection($em,$cinema);
                continue;

我仍然有错误,所以我无法控制此异常。 我怎样才能做到这一点? 谢谢:))

2 个答案:

答案 0 :(得分:0)

只是明确捕捉异常

try {

} catch (\Symfony\Component\Debug\Exception\ContextErrorException $e) {

}

如果你需要捕捉其他例外,你也可以这样做

try {

} catch (\Symfony\Component\Debug\Exception\ContextErrorException $e) {

} catch (\Some\Other\Exception $e) {

} catch (\Exception $e) {

}

答案 1 :(得分:0)

检查连接。您可以使用:

http://php.net/manual/en/function.fsockopen.php