11

私はこのコードを:の中で使用していpublic function __construct()ますclass

$this->mConnection = mysql_connect(BASE_DB_HOST,BASE_DB_USER,BASE_DB_PASS) or throw new Exception("Couldn't connect to database.");

BASE_DB_HOSTBASE_DB_USERおよびBASE_DB_PASSが定義されています。次のエラーが発生します。

解析エラー:構文エラー、 6行目の/ home/...に予期しないT_THROW

or例外のある構造を使用することは許可されていませんか?どうすればこれを回避できますか?

4

2 に答える 2

10

このように使用してみて、それがあなたのために働くかどうか私に知らせてください-

<?php
function throwException() {
    throw new Exception("Couldn't connect to database.");
}

$this->mConnection = mysql_connect(BASE_DB_HOST,BASE_DB_USER,BASE_DB_PASS) OR throwException();
?>

参照-http ://www.php.net/manual/en/language.exceptions.php#81960

于 2013-02-01T06:30:45.953 に答える
0

orもう1つの方法は、論理演算子の後に無名関数で例外をスローすることです。

$this->mConnection = mysql_connect(BASE_DB_HOST,BASE_DB_USER,BASE_DB_PASS) or call_user_func(function() { throw new Exception("Couldn't connect to database."); });
于 2015-09-23T03:47:57.663 に答える