gpt4 book ai didi

php - 返回 False VS 回显错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:09:43 24 4
gpt4 key购买 nike

我试图理解从语句中返回 false 与回显促使用户更正其提交的错误之间的主要区别。

让我们采用以下用于获取 Google 货币转换 API URL 的函数,并解析另外 3 个参数,$amount、$from、$to。我使用 explode 获取 API 在 "" 中返回的数值。

function currency_convert($googleCurrencyApi, $amount, $from, $to) {

$result = file_get_contents($googleCurrencyApi . $amount . $from . '=?' . $to);
$expl = explode('"', $result);

if ($expl[1] == '' || $expl[3] == '') {
return false;
} else {
return array(
$expl[1],
$expl[3]
);
}
}

与回显建设性消息相比,如果语句为真则返回 false 有什么优势?我看到许多论坛等经常使用 return false。

提前致谢。

最佳答案

都不是,我们在 2012 年,抛出异常并以您想要的任何方式处理它。

function currency_convert($googleCurrencyApi, $amount, $from, $to) {

$result = file_get_contents($googleCurrencyApi . $amount . $from . '=?' . $to);
$expl = explode('"', $result);

if ($expl[1] == '' || $expl[3] == '') {
throw new Exception('An error has occured. Describe the error here');
}
return array(
$expl[1],
$expl[3]
);
}

然后,当您调用该函数时:

try { currency_convert($googleApi, $amount, $from, $to) }
catch (Exception $e) { /* Do whatever you want with $e */ }

Read about Exceptions and the try, catch block here

优势

  • 如果未处理,将停止脚本,快速查明问题所在。
  • 如果处理,它可以很容易地被视为发生了 return false
  • 异常会停止函数,这意味着 return 语句永远不会到达。
  • 异常可以向用户显示建设性消息,并且有助于开发人员了解错误是什么。
  • 异常是类可以扩展的对象,因此您可以有效地创建多种类型的错误和异常,例如但不限于: IllegalArgumentExceptionMathExceptionFileReadExceptionReallyAwesomeException,然后分别进行不同的处理

    try { /* Code Here */ }
    catch (IllegalArgumentException $e) { echo 'Illegal Argument!'; }
    catch (Exception $e) { echo 'General Error! '. $e->getMessage(); }

关于php - 返回 False VS 回显错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9215592/

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