2018년 3월 20일 화요일

[PHP예제] 042 오류 레벨 설정하기


오류 레벨 설정하기

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>오류 레벨 설정하기</title>
</head>
<body>
<div>
<?php
// 모든 오류를 표시함
error_reporting(E_ALL); // PHP 5.4 이상의 경우
//error_reporting(E_ALL | ESTRICT); // PHP 5.4 이상의 경우
$test = $_POST['test']; // Notice 오류

// 모든 오류를 표시하지 않음
error_reporting(0);
$dividedByZero = 1 / 0; // Warning 오류이지만 표시되지 않음

// Fatal 오류, Warning 오류, Parse 오류, Notice 오류를 표시함
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
$dividedByZero = 1 / 0; // Warning 오류

// Notice 오류 이외의 모든 오류를 표시함
error_reporting(E_ALL ^ E_NOTICE);  // PHP 5.4 이상의 경우
// PHP 5.3 이전에는 E_STRICT를 추가할 필요가 있으므로 다음과 같이 설정
error_reporting(E_ALL ^ E_NOTICE | E_STRICT);
$test = $_POST['test']; // Notice 오류인데 표시되지 않음
?>
</div>
</body>
</html>



오류 레벨 목록
레벨 상수 설명
1 E_ERROR  - Fatal 오류
 - 중대한 실행시 오류 발생(처리 중단)
2 E_WARNING  - Warning 오류
 - 실행 시 (치명적이 아닌) 경고 (계속 처리)
4 E_PARSE  - Parse 오류
 - 컴파일 시 구문 분석 오류
8 E_NOTICE  - Notice 오류
 - 실행 시의 경고(계속 처리)
16 E_CORE_ERROR  - PHP의 초기 실행 시 치명적인 오류
32 E_CORE_WARNING  - PHP의 초기 실행 시 (치명적이지 않은) 경고
64 E_COMPILE_ERROR  - 컴파일 시 치명적인 오류
 - Zend Scripting Engine에 의해 발생
128 E_COMPILE_WARNING  - 컴파일 시 (치명적이 아닌) 경고
 - Zend Scripting Engine에 의해 발생
256 E_USER_ERROR  - 사용자가 발생시키는 오류 메시지
 - trigger_error() 함수에서 발생(처리중단)
512 E_USER_WARNING  - 사용자가 발생시키는 경고 메시지
 - trigger_error() 함수에서 발생
1024 E_USER_NOTICE  - 사용자가 발생시키는 주의 메시지
 - trigger_error() 함수에서 발생
2048 E_STRICT  - Strict 오류
 - 코드의 상호 운용성 및 호환성을 유지하기 위해 PHP가 코드 변경 제안(PHP 5 이후)
4096 E_RECOVERABLE_ERROR   - 복구할 수 있는 치명적인 오류(PHP 5.2 이후)
8192 E_DEPRECATED  - Deprecated 오류
 - 차기 버전에서 작동하지 않는 코드에 대한 경고(PHP 5.3 이후)
16384 E_USER_DEPRECATED  - 사용자 정의의 경고(E_DEPRECATED와 동등)
 - trigger_error() 함수에서 발생(PHP 5.3 이후)
- E_ALL  - 모든 오류와 경고
 - PHP의 버전에 따라 값이 다름
 - PHP 5.4보다 이전 버전에서는 E_STRICT 제외



댓글 없음:

댓글 쓰기