11

我在public function __construct()a中使用此代码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_HOST,BASE_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另一种方法是在逻辑运算符之后在匿名函数中抛出异常。

$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 回答