致命错误:未捕获异常'Exception',消息'无法设置COM端口,检查是否正确'

时间:2013-02-16 19:42:07

标签: php at-command

  
    

致命错误:在C:\ xampp \ htdocs \ jsms \ sms.php中显示消息“无法设置COM端口,检查它是否正确”的未捕获异常'异常':堆栈跟踪:#0 C:\ xampp \ htdocs \ jsms \ sms.php(17):gsm_send_sms-> init()#1 {main}在第61行的C:\ xampp \ htdocs \ jsms \ sms.php中抛出     public function init(){

  
    $this->debugmsg("Setting up port: \"{$this->port} @ \"{$this->baud}\" baud");

    exec("MODE {$this->port}: BAUD={$this->baud} PARITY=N DATA=8 STOP=1", $output, $retval);

    if ($retval != 0) 
    {
        throw new Exception('Unable to setup COM port, check it is correct');
    }

    $this->debugmsg(implode("\n", $output));
    $this->debugmsg("Opening port");

    //Open COM port
    $this->fp = fopen($this->port . ':', 'r+');

    //Check port opened
    if (!$this->fp) {
        throw new Exception("Unable to open port \"{$this->port}\"");
    }

1 个答案:

答案 0 :(得分:0)

你没有抓住你抛出的异常:

if ($retval != 0) 
{
    throw new Exception('Unable to setup COM port, check it is correct');
}
如果

,则抛出

exec("MODE {$this->port}: BAUD={$this->baud} PARITY=N DATA=8 STOP=1", $output, $retval);

返回错误int(任何!= 0)。

使用:

try {
    exec("MODE {$this->port}: BAUD={$this->baud} PARITY=N DATA=8 STOP=1", $output, $retval);
    if ($retval != 0) 
    {
        throw new Exception('Unable to setup COM port, check it is correct');
    }
} catch (Exception $e) {
    // do whatever you want to handle the error
}