考慮下面的代碼,由cron運行:異常終止程序?
try {
$count = $stmt->execute ($queryArray);
}
catch (PDOException $ex) {
fwrite ($fp, ' "exception" at line: ' . (__LINE__ - 3). ", " . $ex -> getMessage() . "\n");
throw new RuntimeException (
basename (__FILE__) . '::' . __METHOD__ . ' - Execute query failed: ' . $ex -> getMessage() );
}
重新投擲由throw new RuntimeException
導致程序停止?換句話說,語句是否會充分「捕捉」異常並允許程序繼續?
throw
文檔含糊不清。唯一的參考是PHP Fatal Error
從(link to) PHP Exceptions:後面的語句
當一個異常被拋出,代碼不會被執行,而PHP就會嘗試查找第一個匹配的catch塊。如果沒有捕獲到異常,除非使用set_exception_handler()定義了處理程序,否則將發出一個PHP致命錯誤,並帶有「Uncaught Exception ...」消息。
你是什麼意思:'然而,在你拋出異常之前發生的事情就會發生。所以在你的例子中,frwite仍然會發生......'(錯別字?)我希望這句話能夠爲我解決這個問題。 – David 2015-02-17 22:51:57
是的,錯誤的's /和東西/任何東西' - 在答案中更正。 – prodigitalson 2015-02-17 23:08:32