- die() 방법 사용
- 맞춤형 오류 처리
die ($message)예:< /b><코드><코드>
// 기본 오류 처리를 보여주는 PHP 코드
$file
=
fopen
(
"engineer.txt"
,
"w"
);
?>
참고.위의 코드를 실행하면 engineer.txt 파일이 누락됩니다. , 그리고 런타임 오류가 표시됩니다.런타임 오류:
PHP 경고: fopen(engineer.txt): 스트림을 열지 못했습니다: /home/dac923dff0a2558b37ba742613273073.php에서 권한이 거부되었습니다. on line 2이 오류를 방지하려면 die() 함수를 사용하십시오. die() 함수는 다음과 같이 구현됩니다.예:
// 오류를 검사하는 PHP 코드
// 파일이 없는 경우
// 스크립트 종료
if
(!
file_exists
(
"engineer.txt"
)) {
다이
(
" 파일이 존재하지 않습니다 "
);
}
// 파일이 존재하는 경우
// 다음 계속
else
{
$file
=
fopen
(
" Engineer.txt "
,
" w "
);
}
?>
참고.파일이 엔지니어인 경우 .txt가 없으면 출력이 표시됩니다.
종료파일이 없습니다
맞춤형 오류 처리기:맞춤형 만들기 PHP의 오류 처리기는 매우 쉽습니다. PHP에서 오류가 발생했을 때 호출할 수 있는 함수를 만듭니다.구문:error_function ($error_level, $error_message, $error_file, $error_line, $error_context)
매개변수:이 함수는 위와 아래에 설명된 대로 5개의 매개변수를 사용합니다.- $error_level: 이것은 필수 매개변수이며 정수여야 합니다. 미리 정의된 오류 수준이 있습니다.
- $error_message:필수 매개변수이며 사용자가 인쇄하려는 메시지입니다.
- $ error_file: 오류가 발생한 파일을 지정하는 데 사용되는 선택적 매개변수입니다.
- $error_line:오류가 발생한 행 번호를 지정하는 데 사용되는 선택적 매개변수입니다. 발생했습니다.
- $error_context:오류 발생 시 각 변수와 해당 값을 포함하는 배열을 지정하는 데 사용되는 선택적 매개변수입니다.
error_level:다음은 가능한 오류 수준이며 아래에 나열되어 있습니다.- 1: .E_ERROR: 치명적인 런타임 오류가 중지되었습니다.
- 2: E_WARNING: 비- 치명적인 런타임 오류, 스크립트 실행 중지
- 4: E_PARSE: 파서에 의해 생성된 컴파일 시간 오류
- 8: E_NOT ICE: 스크립트에서 오류일 수 있는 문제가 발생했습니다.
- 16: E_CORE_ERROR: 스크립트의 초기 실행 중에 발생한 치명적인 오류
- 32: E_CORE_WARNING: 초기 스크립트 실행 중에 발생한 치명적이지 않은 오류
- 8191: E_ALL: 모든 오류 및 경고
set_error_handler() 함수:myerror() 함수를 생성한 후 PHP가 일반적으로 처리하기 때문에 사용자 정의 처리기 오류를 설치해야 합니다. 사용자가 사용자 정의 오류 처리를 수행하는 경우 사용자는 인수 대신 설정해야 하고 myerror 함수를 문자열로 전달합니다.예:
// 메시지를 출력하는 오류 함수 생성
// user
function
myerror (
$error_no
,
$error_msg
) {
echo
"오류: [$error_no] $error_msg"
;
echo
"이제 스크립트가 종료됩니다. "
;
// 오류가 발생하면 스크립트는 반드시 중지
die
();
}
// set_error_handler 설정
set_error_handler (
"myerror"
);
$a
= 10;
$b
= 0;
// 오류 생성
echo
(
$a
/
$b
) ;;
?>
출력:오류: [2] 나눗셈 b y 0 Now 스크립트가 종료됩니다.
출력:사용자에 따라 보다 구체적인 메시지를 표시하므로 사용자에게 유용할 수 있는 사용자 정의 오류 처리를 사용하여 항상 오류를 처리하려고 합니다. 사용자 정의 오류 처리로 오류를 처리하지 않으면 오류가 발생하면 기본적으로 스크립트가 중지되지만 사용자 정의 오류 처리로 오류를 처리하면 오류 메시지를 표시한 후 스크립트를 계속할 수 있습니다.