我正在运行一个针对直到最近特殊环境导致致命错误的设备的PHP脚本。
$soapClient = new SoapClient("/var/www/blah/someWSDL.wsdl", array('trace'=>true, 'exceptions'=>true,'location'=>"https://hostName:8443/axl",'login' => "userName",'password'=> "password"));
$response = $soapClient->getLine(array("routePartitionName"=>"PT-INHOUSE", "pattern"=>"$row[callingPartyNumber]"));
echo "<TR><TD class='body'>" . $response->return->line->description . "</TD><TD class='body'>"
因此,这将适用于$ response产生输出的任何情况。但是,有些情况下(非常罕见)。在这些情况下,这是生成的;
Fatal error: Uncaught SoapFault exception: [soapenv:Server] Item not valid:
在阅读这个问题时,听起来我应该做的就是“抓住”错误。如果发生致命错误,我想绕过回显$ response-&gt; return-&gt; line-&gt;描述并将此输出替换为“找不到”之类的文本。这可能与if语句有关,例如“如果发生致命错误,请输出”吗?从我所读到的,这不是推荐的东西。任何帮助表示赞赏。
答案 0 :(得分:2)
一般来说,你应该通过检查抛出错误的条件来避免错误,并避免这些错误。如果无法避免错误,请使用以下结构:
try {
// code that produces errors
} catch (Exception $e) {
echo $e -> getMessage ();
echo "Nothing found.";
}