예외 처리 및 로깅은 PHP 함수에서 매우 중요합니다. try/catch 블록을 통해 예외를 포착하고 사용자 정의 예외를 발생시킵니다. PSR-3 또는 Monolog와 같은 로깅 라이브러리를 사용하여 이벤트를 기록하고 심각도에 따라 로그 메시지의 순위를 매깁니다. 더 많은 컨텍스트를 제공하고 입력 오류가 있는 경우 적절한 조치를 취하려면 예외를 기록하세요.
PHP 함수 모범 사례: 예외 처리 및 로깅
예외 처리 및 로깅은 강력하고 안정적인 PHP 함수를 작성하는 데 중요합니다. 적절한 기술을 사용하면 오류를 효과적으로 처리하고 이벤트를 기록하며 문제 해결 및 디버깅을 위한 귀중한 통찰력을 제공할 수 있습니다.
예외 처리
PHP의 예외 처리는 기본적으로 try/catch 블록을 사용하여 코드에서 발생하는 예외를 포착하고 처리합니다. 다음은 좋은 예외 처리 메커니즘을 구축하는 단계입니다.
try/catch 블록 사용:
try { // 您的代码在此处 } catch (Exception $e) { // 捕获异常后的处理逻辑 }
사용자 정의 예외 발생:
throw 문을 사용하여 오류에 대한 보다 구체적인 정보를 제공하는 사용자 정의 예외를 발생시킵니다.
class CustomException extends Exception {} function myFunction() { // 抛出自定义异常 throw new CustomException("错误发生"); }
재시도 메커니즘 사용:
일부 일시적인 예외의 경우 재시도 메커니즘을 사용하여 요청을 재시도하는 것을 고려할 수 있습니다.
$retries = 3; $success = false; for ($i = 0; $i < $retries; $i++) { try { // 您的代码在此处 $success = true; break; } catch (Exception $e) { // 重试逻辑 } }
Logging
로깅은 시스템에서 발생하는 이벤트를 기록하는 데 중요합니다. PHP는 다양한 목적으로 다양한 로그 파일을 생성하는 데 사용할 수 있는 내장 로깅 기능을 제공합니다.
PSR-3 로깅 라이브러리 사용:
PSR-3은 표준 인터페이스를 정의하는 로깅 사양으로, 상호 운용성을 단순화하기 위해 서로 다른 로깅 라이브러리 사이. Monolog 또는 PSR-3 로깅 브리지와 같은 인기 있는 라이브러리를 사용할 수 있습니다.
// Monolog 日志记录库 $logger = new Monolog\Logger('my_logger'); $logger->info('日志消息'); // PSR-3 日志记录桥 $logger = new \Psr\Log\LoggerInterface('my_logger'); $logger->info('日志消息');
다양한 수준의 로그 생성:
정보, 경고, 오류 등 심각도에 따라 로그 메시지의 등급을 지정할 수 있습니다.
$logger->info('一般信息'); $logger->warning('潜在问题'); $logger->error('严重错误');
예외 로깅:
예외는 오류에 대한 추가 컨텍스트를 제공하기 위해 로그 파일에 기록될 수도 있습니다.
try { // 您的代码在此处 } catch (Exception $e) { $logger->error($e); }
실제 예
두 숫자의 합을 계산하는 간단한 함수를 만들고 예외 처리를 사용하여 다음을 수행합니다. 입력 오류를 처리하고 작업을 기록하기 위한 로깅:
function sum($a, $b) { // 检查非数字输入 if (!is_numeric($a) || !is_numeric($b)) { throw new InvalidArgumentException("非法输入"); } // 尝试进行求和 try { $result = $a + $b; // 记录操作 log_message('info', "计算 $a 和 $b 的和:$result"); return $result; } catch (InvalidArgumentException $e) { log_message('error', $e->getMessage()); throw $e; } }
try/catch 블록을 사용하고, 사용자 정의 예외를 발생시키고, 적절한 로깅을 사용하면 오류가 발생하더라도 강력하고 디버깅하기 쉬운 함수를 생성할 수 있으며 귀중한 정보도 제공할 수 있습니다.
위 내용은 PHP 함수 모범 사례: 예외 처리 및 로깅?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!