我有以下代码,我想知道是否可以使用 try & catch 如下:
class fun_database implements idbInfo{
private $srvr=idbInfo::srvr_name;
private $usr=idbInfo::usrnm;
private $pass=idbInfo::psswrd;
private $db=idbInfo::db_name;
public function connct(){
$hookup = new mysqli($this->srvr, $this->usr, $this->pass, $this->db);
if ($hookup->connect_errno)
{
throw new Exception("Error Processing Request", 1);
}
}
public function sql_require_all($table_name, $table_col){
$hookup = new connct();
$result = $hookup->query("SELECT $table_col FROM $table_name");
if($hookup->error()){
throw new Exception("Error Processing Request", 1);
}
return $result->num_rows;
}
}
这是一个到 mysql 的简单连接并在那里执行一些查询。这是上面函数的实际调用:
$conn = new fun_database();
try{
$result = $conn->sql_require_all('wordtypes', 'types');
}
catch(Exception $err){
echo "Problems at:". $err->getMessage();
}
return "<option>".$result."</option>";
我要问的是有点理论。很可能这段代码不起作用(我还没有测试它)。我只是想知道一个“尝试”是否有可能“捕获”两个异常(如您所见,第一个“抛出”在 fun_database 的第二种方法中,第二个“抛出”在第一种方法中仅从第二种方法调用的相同对象)。
抱歉让它太复杂了,但仍然无法弄清楚这个 try/catch 结构是否有效。