PHP中正确处理错误的方式



我是PHP开发的初学者,现在我正在关注一个教程,但我与本教程中的错误处理实现感到有些困惑。

我正在进行注册过程,这是将新用户注册到数据库

的功能
function registerUser($username,$password,$email,$fullname) {
        $query = "INSERT INTO users SET username=?, password=?,email=?,fullname=?";
        $statement = $this->conn->prepare($query);
        if (!$statement) {
            throw new Exception($statement->error);
        }
        $statement-> bind_param('ssss',$username,$password,$email,$fullname);
        $returnValue = $statement -> execute();

        return $returnValue;
    }

实现此registerUser功能

// making connection
$file = parse_ini_file("../../../host.ini");
$dbhost = trim($file["host"]); 
$dbusername = trim($file["username"]);
$dbpassword = trim($file["password"]);
$dbname = trim($file["dbname"]);

$access = new access($dbhost,$dbusername,$dbpassword,$dbname);
$access->connect();

// Inserting user to database
$result = $access->registerUser($username,$securedPassword,$email,$fullname);
if ($result) {
    $user = $access->selectUser($username);
    $resultArray = [
        "status" => "200",
        "message" => "Sucessfully registered",
        "id" => $user["id"],
        "username" => $user["username"],
        "email" => $user["email"],
        "avatar" => $user["avatar"],
        "fullname" => $user["fullname"]
    ];
} else{
    $resultArray = [
        "status" => "400",
        "message" => "can't insert data to database "
    ];
}
$access->disconnect();
echo json_encode($resultArray);

我不明白何时使用throw new Exception($statement->error);。因为发生错误时没有回声。为什么我必须在registerUser函数中添加此代码

据我所知,如果我想提出异常,它应该以这种格式

try {
} catch {
}

我应该更改以尝试获取格式吗?或者可以在这样的语句中使用异常吗?

预先感谢:)

您对尝试捕获块是正确的,但是,只有在您想捕获错误并特别处理它时使用它们(在大多数情况下,显示出更有信息的错误信息)。不执行此操作(就像您在代码中显示的方式)脚本将由Apache的顶级错误汉德勒终止。

简而

最新更新