我试图将文档发送到打印机。这是我使用的代码:
try
{
$fp = pfsockopen($ip, $port,$errno,$errstr,30);
fputs($fp, $sContent);
fclose($fp);
$this->session->set_flashdata('message_header','Document verstuurd');
$this->session->set_flashdata('message_status','info');
$this->session->set_flashdata('message', 'Uw document is verstuurd naar de printer');
$this->redirect('/goods_receipt/history');
}
catch (Exception $e)
{
$this->session->set_flashdata('message',$e->getMessage());
$this->session->set_flashdata('message_status','danger');
$this->session->set_flashdata('message_header', 'Er is een fout opgetreden');
$this->redirect('/goods_receipt/history');
}
傻老了我忘了设置IP地址。我本来期望一个例外,然后显示flash消息,但我的客户看到了这个:
我做错了什么?
p.s。:请注意我不需要任何帮助来找出错误被抛出的原因。我已经解决了这个问题。我只需要理解为什么异常处理程序被忽略,以便下次无法打开套接字时,会显示一个相当不太可怕的屏幕。
答案 0 :(得分:1)
pfsockopen只是在发生错误时返回false并且没有抛出错误。 http://php.net/manual/de/function.fsockopen.php
做类似
的事情if($fp===false){
throw new Exception('Less Scary Message');
}