gpt4 book ai didi

php - PHP中的错误处理。怎么做?

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

我是PHP OOP的初学者,并对使用PHP处理错误的正确方法有些疑问。

例如看这个功能:

public function deleteFileFromDisk($fileNameToBeDeleted) {

$handle = unlink($fileNameToBeDeleted);

if (!$handle) {
$result = "(this->deleteFileFromDisk) - Error, " . $fileNameToBeDeleted . " not deleted.";
} else {
$result = "(this->deleteFileFromDisk) - Success, " . $fileNameToBeDeleted . " deleted.";
}
return $result;
}

这是正确的做法,还是我可以做得更好?

让我添加一些我所要实现的细节...

我正在运行类方法,并且需要控制过程中的错误。如果对该对象的任何调用引发错误,则需要捕获该错误并发送电子邮件。

以下是对象交互:
$testar_classe = new geoIpImportCSV('geolitecity', 'http://geolite.maxmind.com/download/geoip/database/GeoLiteCity_CSV/');
$testar_classe->downloadAndSaveFile('./', $testar_classe->obtainDownloadFileName());
$testar_classe->uncompressZipFile($testar_classe->obtainDownloadFileName(), '.');
$testar_classe->deleteLine(1, 'GeoLiteCity-Location.csv');
$testar_classe->deleteLine(1, 'GeoLiteCity-Blocks.csv');
$testar_classe->deleteDataFromTable('tabela1');
$testar_classe->deleteDataFromTable('tabela2');
$testar_classe->insertLinesToDb('GeoLiteCity-Location.csv', 'tabela1');
$testar_classe->insertLinesToDb('GeoLiteCity-Blocks.csv', 'tabela2');
$testar_classe->deleteFileFromDisk($testar_classe->obtainDownloadFileName());
$testar_classe->deleteFileFromDisk('GeoLiteCity-Blocks.csv');
$testar_classe->deleteFileFromDisk('GeoLiteCity-Location.csv');

哪个是处理此问题的最佳方法?创建一个新方法来处理异常?有任何有关如何执行此操作的示例?

最好的祝福。

最佳答案

您在这里所做的事情(返回一个字符串作为成功/失败指示符)确实是一个坏主意。问题是这样的字符串仅适合呈现给人类。当您需要知道是否失败以及如何处理失败时,它们对您的代码绝对没有用。

阅读以下相关问题:

  • Error handling in PHP
  • PHP Error handling
  • 关于php - PHP中的错误处理。怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4509972/

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