-4

それは可能ですか、そして致命的なエラーをバイパスして残りのphpページをロードする方法、私はSQLデータベースのすべてのエラーをログに記録するスクリプトを持っています。致命的なエラーを非表示にします。

これは、致命的なエラーをスローするコードです。

try {
$queryConfiguracao = sqlQuery("SELECT * FROM definicoes");
$online = mysql_result($queryConfiguracao, 0);
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

そして、原因で関数を削除したというエラー:

Fatal error: Call to undefined function sqlQuery()

しかし、これはまだページをロードしません

4

1 に答える 1

0

を使用function_exists()して、関数が存在するかどうかを判断し、関数が存在しない場合はコードのその部分をバイパスできます。しかし、これは私にはかなりずさんなようです。

ドキュメント: http://php.net/function.function-exists.php

if (function_exists("sqlQuery")) {
    $queryConfiguracao = sqlQuery("SELECT * FROM definicoes");
    $online = mysql_result($queryConfiguracao, 0);
} else {
    $online = array();
}

またはそのようなもの。

于 2013-09-13T20:13:35.693 に答える