>백엔드 개발 >PHP 문제 >PHP에서 오류 메시지를 잡는 방법

PHP에서 오류 메시지를 잡는 방법

藏色散人
藏色散人원래의
2021-11-16 09:44:563968검색

PHP에서 오류 메시지를 캡처하는 방법: 1. "error_reporting(E_ALL);"을 통해 모든 오류를 출력합니다. 2. "try...catch"를 사용하여 예외를 포착합니다. 3. set_error_handler() 함수를 사용하여 오류를 호스팅합니다. 매니저.

PHP에서 오류 메시지를 잡는 방법

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

PHP에서 오류 프롬프트를 캡처하는 방법은 무엇입니까?

php 예외 처리 캡처 오류 정렬

세 가지가 있습니다. PHP의 오류 보고서 유형:

1. 오류, 구문 분석 오류, 치명적인 오류

2. 주의

결과:

치명적인 오류가 발생하면 다운로드한 프로그램이 종료됩니다. 구문 오류가 있어 PHP가 전혀 작동하지 않습니다.

경고 -> 실행이 종료되지는 않지만 결과에 영향을 미칩니다.

참고 ->는 실행을 종료하지 않으며 결과에 영향을 미치지 않습니다.

사용자에게 더 나은 경험을 제공하기 위해 표시가 아닌 출력되는 모든 오류 출력을 차단합니다. 하지만 이 경우 관리자는 오류를 볼 수 없습니다. 오류는 페이지에 표시되지 않지만 관리자가 볼 수 있도록 로그가 생성됩니다.

error_reporting(~E_ALL)은 당연히 모든 출력을 차단합니다. 모든 출력을 차단하고 싶지 않고 모든 표시를 차단하고 싶습니다.

ini_set('display_errors','off'); 는 모든 페이지의 오류 표시는 차단되지만 오류 출력은 차단되지 않음을 의미합니다. .

ini_set('log_errors','on'); 
//开启日志写入功能 
ini_set('error_log','myerror.log');
 
//日志的存放位置 
ini_set('display_errors','off'); 
//屏蔽页面显示 
error_reporting(E_ALL); 
//输出所有错误
 
echo 123; echo $str; 
//这个会出现一个注意,表示未声明变量 
echo date(); 
//警告,没有传参 
echo dae(); 
 
//致命错误,找不到这个函数 
echo 123;

예외:

PHP 언어에서는 JAVA와 같이 자동으로 예외를 발생시키는 언어와 달리 모든 예외를 직접 발생시켜야 합니다. 이것이 PHP 소스 코드에서 예외 처리 문을 거의 볼 수 없는 이유입니다. 이유.

예외 및 오류:

예외는 프로그램 작동 중 기대에 미치지 못하는 조건 및 일반적인 프로세스와 다른 현상을 말합니다. 이 오류는 컴파일러가 검사 설정을 전달하고 실행하는 것을 방해하는 잘못된 구문이나 환경 문제로 인해 발생하는 자체 문제입니다.

PHP에는 처음에는 예외 처리 기능이 없었기 때문에 나중에 엔터프라이즈급 개발에 들어가기 위해 모방했습니다. PHP가 비정상적인 코드를 발견하면 대부분의 경우 예외 대신 오류가 직접 발생합니다.

php에서는 예외가 발생한 후에 예외를 잡기 위해 try...catch만 사용할 수 있습니다(일반적인 경우이며 일부 예외는 자동으로 잡을 수 있습니다).

예외는 일반적으로 다음 시나리오에서 PHP에서 사용됩니다.

1. 프로그램의 비관적 예측: 코드가 예측할 수 있는 다양한 상황과 예측할 수 없는 상황을 하나씩 처리할 수 없다고 생각하는 경우.

2. 프로그램 요구 사항 및 비즈니스 문제: 데이터의 일관성이 매우 높은 경우 try...catch를 사용하여 예외로 인한 논리적 중단을 최소화할 수 있으며 문제 해결 후

, 비즈니스 로직의 무결성에 영향을 미치지 않습니다. .

3. 언어 수준의 견고성 요구 사항: 런타임 프로세스를 정확하게 제어하여 프로그램이 중단될 때 try...catch를 사용하여 가능한 오류 범위를 예측 가능하게 줄이고 적시에 예외를 포착하여 해당 해결 방법을 적용합니다.

.

PHP의 오류:

오류는 스크립트가 비정상적으로 실행되는 상황을 의미합니다.

PHP의 주요 오류 수준은 다음과 같습니다.

사용되지 않음: 가장 낮은 수준의 오류로 "권장하지 않음, 권장하지 않음"을 의미합니다. 예를 들어, PHP 5에서 ereg 계열의 일반 함수를 사용하면 나타납니다. 이러한 유형의 오류는 일반적으로 더 이상 사용되지 않거나 오래된 함수나 구문을 사용하여 발생합니다. 프로그램의 정상적인 동작에는 영향을 미치지 않으나, 수정하는 것이 좋습니다.

주의사항: 일반적으로 문법에서 부적절한 위치를 나타냅니다. 변수가 사용되었지만 정의되지 않은 경우 이 오류가 보고됩니다. 프로그램의 정상적인 흐름에는 영향을 미치지 않습니다.

경고: 더 높은 수준의 오류입니다. 이 오류는 함수 매개변수 불일치와 같이 구문에 매우 부적절한 상황이 있을 때 발생합니다. 결과적으로 예상한 결과를 얻을 수 없으며 코드를 수정해야 합니다.

fetal error: 프로그램 종료를 직접적으로 일으키는 치명적인 오류입니다. 이러한 오류는 수정되어야 합니다.

prase 오류: 문법 구문 분석 오류입니다. 위의 오류는 모두 실행 전에 발생합니다.

사용자 정의 오류 처리기:

set_error_handler() 함수를 사용하여 오류 처리기를 호스팅하고 오류 처리 프로세스를 사용자 정의할 수 있습니다.

호스팅을 취소하려면 동일한 페이지에서 Restore_error_handler()를 사용하여 호스팅을 취소할 수 있으며, 직접 오류를 발생시키려면

trigger_error() 함수를 사용할 수 있습니다.

추천 학습: "

PHP 비디오 튜토리얼

"

위 내용은 PHP에서 오류 메시지를 잡는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.