update : 2015.11.03
php.shukuma.com

검색:
 
 
오류 제어 연산자

오류 제어 연산자

PHP는 하나의 오류 제어 연산자를 지원합니다: at 부호(@). PHP 표현의 앞에 덧붙이면, 그 표현에서 생성되는 모든 오류 메세지를 무시합니다.

track_errors 기능을 켜면, 표현이 생성한 모든 오류 메세지는 $php_errormsg 변수에 저장됩니다. 이 변수는 각 오류마다 덮어씌워지므로, 사용하려면 일찍 확인하십시오.

<?php
/* Intentional file error */
$my_file = @file ('non_existent_file') or
    die (
"Failed opening file: error was '$php_errormsg'");

// this works for any expression, not just functions:
$value = @$cache[$key]; 
// will not issue a notice if the index $key doesn't exist.

?>

Note: @ 연산자는 표현에만 작용합니다. 간단한 규칙으로: 어떠한 값을 얻을 수 있으면, @를 붙일 수 있습니다. 즉, 변수, 함수, include 호출, 상수 등에 붙일 수 있습니다. 함수 정의, 클래스 정의, ifforeach 같은 조건부 구문 등에는 붙일 수 없습니다.

error_reporting()과 매뉴얼 오류 다루기와 기록 함수 섹션을 참고하십시오.

Warning

현재 "@" 오류 제어 연산자는 스크립트 실행을 종료하는 치명적인 오류에 대한 오류 보고도 꺼버립니다. 즉, "@"를 어떠한 함수에서 오류를 제거하려고 사용하였을 때, 그 함수가 존재하지 않거나, 오타를 내면 그 위치에서 아무런 이유를 알려주는 지시도 없이 스크립트가 종료됩니다.