>  기사  >  백엔드 개발  >  PHP 오류 제어 연산자 @ 또는 die()의 인스턴스 사용법에 대한 자세한 설명

PHP 오류 제어 연산자 @ 또는 die()의 인스턴스 사용법에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-06-21 14:11:577322검색

PHP는 오류 제어 연산자인 @를 지원합니다. PHP 표현식 앞에 배치하면 표현식에서 생성될 수 있는 모든 오류 메시지가 무시됩니다.

set_error_handler()를 사용하여 사용자 정의 오류 처리 함수를 설정하면 여전히 호출되지만 이 오류 처리 함수는 error_reporting()을 호출할 수 있고 호출해야 하며 이 함수는 오류 문 0 앞에 @가 있는 경우 반환됩니다. .

track_errors 기능이 활성화되면 표현식에 의해 생성된 모든 오류 메시지가 $php_errormsg 변수에 저장됩니다. 이 변수는 오류가 발생할 때마다 덮어쓰기가 되므로 사용을 원할 경우 최대한 빨리 확인하시기 바랍니다.

php 오류 기호 무시 @

@은 PHP 언어의 오류 무시 문자입니다. PHP 표현식 앞에 배치하면 표현식에 의해 생성될 수 있는 모든 오류 메시지가 무시됩니다. 예:

@include("file.php");

@ 연산자는 표현식에만 유효하다는 점에 유의해야 합니다. 어딘가에서 값을 얻을 수 있다면 값 앞에 @ 연산자를 추가하면 된다는 것을 이해할 수 있습니다.

예를 들어 변수, 함수 앞에 배치하고 호출, 상수 등을 포함할 수 있습니다.

함수나 클래스 정의 앞에 올 수 없으며 if, foreach와 같은 조건부 구조에도 사용할 수 없습니다.

또한 @는 일반적으로 또는 die()와 함께 사용됩니다. 예:

(@include("file.php"))
 OR die("Could not find file.php!");

위 명령문은 file.php 포함이 실패하는 경우, 예를 들어 file.php 파일이 존재하지 않는 경우 인쇄를 의미합니다. "file.php를 찾을 수 없습니다!"라는 메시지가 표시되고 즉시 프로그램 실행이 중지됩니다.

@ 문자가 추가되지 않은 경우 include("file.php")가 오류를 반환하면 웹 페이지에 인쇄되는 내용은 다음과 같습니다.

Warning: include(file.php) [function.include]: failed to open stream: No such file or directory
Warning: include() [function.include]: Failed opening 'file.php' for inclusion (include_path='.;C:\php5\pear')

또는 die()의 일부 사용법

die() 함수 모두가 사용해야 합니다. 여러분은 매우 익숙하지만, 또는 die()와 같은 작성 방법으로 생성되는 일부 효과를 인식하지 못할 수도 있습니다.

먼저 die()를 이해하세요.

die 정의 및 사용법

die() 함수는 메시지를 출력하고 현재 스크립트를 종료합니다.

Syntax

die(status)

상태가 필요합니다. 스크립트를 종료하기 전에 기록할 메시지 또는 상태 번호를 지정합니다. 상태 번호는 출력에 기록되지 않습니다.

상태가 문자열인 경우 함수는 종료하기 전에 문자열을 출력합니다.

상태가 정수인 경우 이 값이 종료 상태로 사용됩니다. 종료 상태 값은 0에서 254 사이입니다. 종료 상태 255는 PHP에 의해 예약되어 있으며 사용되지 않습니다. 상태 0은 프로그램을 성공적으로 종료하는 데 사용됩니다.

참고: PHP 버전 번호가 4.2.0 이상인 경우 상태가 정수이면 이 매개변수가 출력되지 않습니다.

php 또는 die() 문

다음과 같은 문을 자주 볼 수 있습니다.

$file = fopen($filename, 'r') or die("抱歉,无法打开: $filename");

or는 PHP에서 데이터 유형이 구별되지 않으므로 $file은 int 또는 bool이 될 수 있으므로 여기서는 이렇게 이해됩니다. 명령문은 오류를 보고하지 않습니다. 그러나 일부 친구는 처리 과정을 이해하지 못할 수도 있습니다.

실제로 대부분의 언어에서는 bool이나 bool과 같은 명령문에서 이전 값이 true이면 다음 값은 판단되지 않습니다. 여기서도 마찬가지이므로 fopen 함수가 올바르게 실행되면 0보다 큰 int 값(실제로는 "true")을 반환하고 후속 명령문은 실행되지 않습니다.

fopen 함수 실행에 실패하면 false를 반환하고, 이후 다음 식이 참인지 판단하게 됩니다.

die()를 실행한 후에는 무엇을 반환하든 프로그램이 실행을 중지하고 지정된 오류 메시지가 표시되므로 디버깅 목적이 달성됩니다. 그게 다야.

오류 관리에 일반적으로 사용되는 두 가지 함수는 die() 및 exit()입니다(엄격히 말하면 언어 구성이며 함수는 아니지만 누가 신경쓰겠습니까).

스크립트 내에서 die(), exit()를 호출하면 전체 스크립트가 종료됩니다.

모두 스크립트가 계속 실행되는 것을 방지하여 특정 중요한 작업(예: 데이터베이스 연결 설정)이 발생하지 않도록 하는 데 사용할 수 있습니다. 브라우저에 인쇄될 문자열을 die() 및exit()에 전달할 수도 있습니다.

OR 조건문에 흔히 사용되는 die()와 exit()를 볼 수 있습니다.

예를 들어

include('config.inc.php') OR die ('Could not open the file. ');

이러한 코드 줄을 포함시킨 후 PHP가 구성 파일을 포함할 수 없으면 die() 문이 실행되고 파일을 열 수 없다는 메시지가 인쇄됩니다.

!defined('CURSCRIPT') && define('CURSCRIPT', ");//意思是如果没定义CURSCRIPT常量,则定义CURSCRIPT为空.

이 방법은 사용자 정의 오류 처리기를 사용하지 않고도 오류를 처리하는(그러나 잠재적으로 과도하게 처리할 수 있는) 간단한 방법이기 때문에 책과 PHP 설명서 전체에서 이러한 변형을 볼 수 있습니다.

사실 die와exit는 동일하며 현재 스크립트를 종료하는 데 사용되며 프로그램을 디버깅할 때 자주 사용됩니다.

위 내용은 PHP 오류 제어 연산자 @ 또는 die()의 인스턴스 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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