gpt4 book ai didi

php - PHP错误处理

转载 作者:行者123 更新时间:2023-12-03 08:36:04 25 4
gpt4 key购买 nike

我现在有一个这样的功能

function checkInput($content, $emptyMessage = ""){
if(isset($content)){
return sanitize($content);
}else{
return $emptyMessage;
}
}

我这样使用它:
/* First get all data out of key and put it in array*/

//now check the input if user has set certain fields
$email = checkInput($user["email"],"No email address given");

echo $email;

现在,我得到:未捕获的ErrorOrWarningException。
我可以想到两种解决方案:

关闭错误>不喜欢那个。

手动对每个字段进行操作
if(isset($user["email"])){ 
$email = sanitize($user["email"]);
}else{
$email = "No email address given";
}
echo $email;

可读性差强人意。
另一种方法是尝试/捕获,但多数民众赞成在键入时几乎相同的长度

最佳答案

当使用参数声明函数时,将始终在函数内部设置参数。

function checkInput($content, $emptyMessage = "") {
// $content is always "set" here, no need for isset()

如果您尝试在此处访问不存在的变量,则会收到警告:
checkInput($user["email"], "No email address given");
// ^^^^^^^^^^^^^^
// if 'email' is not set, a warning is thrown here

在尝试将其值传递给函数之前,您始终需要确保已设置 "email"键。

话虽如此,这可能不是 ErrorOrWarningException的原因。我不知道那是哪里来的,这不是标准的PHP。我想你的 sanitize函数正在抛出它。如果是这样,则需要在 try函数内添加 catchcheckInput

关于php - PHP错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6171644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com