【发布时间】:2015-02-17 22:28:12
【问题描述】:
考虑以下代码,由 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 重新抛出是否导致程序停止?换句话说,catch & fwrite 语句是否足以“捕获”异常并允许程序继续运行?
throw 文档含糊不清。唯一的参考是(link to) PHP Exceptions中的PHP Fatal Error:
当抛出异常时,语句后面的代码将不会被执行,PHP 将尝试找到第一个匹配的 catch 块。如果未捕获到异常,则会发出 PHP 致命错误并显示“未捕获异常 ...”消息,除非已使用 set_exception_handler() 定义了处理程序。
【问题讨论】: