获取异常的“友好”错误消息

时间:2012-10-18 09:55:14

标签: php exception

我正在尝试连接数据库,如果有任何错误,我会抛出异常:

class Ex_cnt extends Exception{}
class Ex_slct extends Exception{}
$server = "localhost";
$usr = "root";
$pss = "*******";
$db = "learn";
try{
        $cnt = mysqli_connect($server,$usr,$pss);
        if(!$cnt){
            throw new Ex_cnt("wrong in database details");
        }
        $dbslct = mysql_select_db($db);
        if(!$dbslct){
            throw new Ex_slct("wrong database name");
        } 
}
catch(Ex_cnt $error_cnt){
        echo $error_cnt->getMessage();
}
catch(Ex_slct $error_slct){
        echo $error_slct->getMessage();
}

问题是此代码显示以下错误

  

警告:mysqli_connect()[function.mysqli-connect] :( 28000/1045):D:\ xampp \ htdocs \ learn \ index中的用户'root'@'localhost'(使用密码:YES)拒绝访问.php在第10行   无法连接

我希望它只显示

  

无法连接

2 个答案:

答案 0 :(得分:3)

您应该关闭生产环境中的display_errors

ini_set('display_errors', 0);  
error_reporting(E_ALL); // While error reporting should remain at full force

答案 1 :(得分:-1)

尝试并使用:

$cnt = @mysqli_connect($server,$usr,$pss);