0

致命的なエラー: C:\xampp\htdocs\jsms\sms.php:61 で「COM ポートをセットアップできません。正しいことを確認してください」というメッセージを含む例外「例外」がキャッチされない: #0 C:\xampp\htdocs\jsms \sms.php(17): gsm_send_sms->init() #1 {main} が C:\xampp\htdocs\jsms\sms.php の 61 行目でスローされる 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}\"");
    }
4

1 に答える 1

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
}
于 2013-02-16T19:57:45.293 に答える