PHP 예외는 예상치 못한 사건을 나타 내기 위해 던져 질 수있는 특별한 클래스입니다. 회복 할 수없는 오류와 달리, 예외는 호출 코드에 의해 처리되도록 의도되며, 사형이 잡힐 때까지 실행 체인을 따라 위로 거품을 일으킨다.
Exception
를 올리려고하면 코드에 문제가 있음을 의미합니다. 지속적인 실행이 안전하다는 보장은 없습니다. 이 조건은 실행 중에 수정할 수 없습니다. 파서가 발견 한 예상치 못한 E_NOTICE
에 의해 T_IF
를 던지면 해당 정보를 처리 할 수 있습니다. 따라서 현재 값으로 주어진 명령을 완료 할 수 없습니다. 이것은 환경이 불안정하다는 것을 의미하지는 않습니다. 즉, 코드가 패딩 또는 잘림으로 값의 길이를 조정해야 함을 의미합니다. 코드는이 예외를 포착하고 값을 업데이트하며 다시 시도 할 수 있습니다. E_PARSE
LengthException
모든 예외가 예외는 아닙니다
"문제"
몇 년 전, 유럽을 하이킹하는 동안 나는 그리스의 기차역에서 잊을 수없는 광경을 우연히 발견했습니다. 사물함 구역 중 하나는 폭탄이 폭발하는 것처럼 보였고, 문이 땅에 흩어져 있거나 반은 경첩에 매달려 있거나 부서졌습니다. 나는 나중에 그들이 사물함 영역을 제거하고 있다는 것을 알게되었지만,이 지역이 비활성화되었음을 고객에게 어떻게 전달했는지 주목할 가치가 있습니다. 중앙 부분에 테이프가 많이 있었고 종이 조각이 "문제"라는 단어로 붙여 넣었습니다. 기술적으로 이것은 완전히 정확합니다. 사물함에는 분명히 문제가 있었고 상황은 고객에게 전달하여 처리되었습니다. 당신은 그것이 흥미로울 수도 있지만, 실제로 당신은 이것을 코드에서 자주 볼 수 있습니다. 당신이 를 던지면, 기본적으로 "문제"라고 말하고 코드는 무슨 일이 일어나고 있는지 전혀 모른다.는 각 예외의 기본 클래스이지만 자신의 유형으로 확장 할 수 있습니다. SPL 라이브러리에서 더 넓은 예외 모음을 찾을 수 있지만 이는 한계와는 거리가 멀다. Zend Framework 또는 Symfony와 같은 주요 PHP 프레임 워크를 살펴보면 거의 모든 상황에 대해 사용자 정의 예외를 사용한다는 것을 알 수 있습니다. 이 모든 파일을 동적으로로드하고 모든 다른 유형을 유지할 수 있도록 모든 파일을 작성하는 것은 약간 번거 롭지 만 프레임 워크 및 해당 프레임 워크의 소비자에 대한 세밀한 제어를 제공합니다. 만약 당신이 를 던지면, 당신은 무언가가 잘못되었는지 확인하고 포기할 수도 있습니다. 즉, 예외는 오류 방식으로, 캡처 블록을 조용한 연산자로 사용하고 누군가가 어떤 식 으로든이 상황을 수정할 수 있기를 희망하는 것을 의미합니다.
요약
PHP 예외 처리에 대한 자주 질문
PHP 예외 처리의 목적은 무엇입니까?
PHP 예외 처리는 개발자가 프로그램 실행 중에 발생할 수있는 오류 및 예외를 과초로 보낼 수있는 강력한 메커니즘입니다. 프로그램의 한 부분에서 다른 부분으로 전송하는 방법을 제공합니다. PHP 예외 처리는 지정된 오류가 발생할 때 코드 실행의 정상 흐름을 변경하는 데 사용됩니다. 따라서 코드는 메인 프로그램 로직에서 오류 처리 코드를 분리하기 때문에 코드를보다 쉽게 읽고 관리 할 수 있습니다.
PHP의 예외와 오류의 차이점은 무엇입니까?
Exception
글로벌 캡처 Exception
가 아닌 예외를 사용하고 가능한 모든 예외를 포착하는 것이 나쁜 생각이라면 왜 언어가 이것을 허용합니까? 규칙에는 항상 특정 예외, 즉 글로벌 캡처 규칙을 사용하고 포착하는 규칙에 대한 예외가 있습니다. 글로벌 캡처 블록은 최고 레벨 캡처 블록이며 해당 레벨로 거품이되는 모든 예외를 포착해야합니다. PHP 자체에는 ( "치명적인 오류 : upphed Exception에서 ..."메시지를 보았습니까?)가 포함되어 있지만 사용자 정의 핸들러를 사용하여 폴백 역할을 할 수 있습니다. 이 핸들러를 Exception
함수로 설정할 수 있으므로 원하는대로 수행하고 " 클래스의 모든 인스턴스를 캡처합니다. 다른 취급자는 구체적이어야하며 처리하는 방법을 알고있는 예외로 제한되어야합니다. 여기서 조심스럽게 진행하면서 한 번도 핸들이 가능한 예외를 버리는 것 (그리고 코드로 수정하는 것)을 너무 많이 잡아서 조용한 연산자 역할을하는 것보다 훨씬 낫습니다.
PHP 예외 처리에서 최종 블록의 역할은 무엇입니까?
PHP에서 오류는 스크립트가 실행되는 것을 방지하는 심각한 문제이며 예외는 일반 실행 프로세스를 변경하는 조건입니다. 오류는 일반적으로 구문 오류 또는 정의되지 않은 함수를 호출하여 발생합니다. 반면에 예외는 종종 프로그램에 치명적이지 않지만 특별한 취급이 필요한 조건을 처리하는 데 사용됩니다.
PHP에서 여러 캐치 블록을 사용하여 여러 예외를 처리 할 수 있습니다. 각 캐치 블록은 특정 유형의 예외를 처리합니다. 예외가 발생하면 캐치 블록은 코드에 나타나는 순서로 체크됩니다. 던진 예외 유형을 처리 할 수있는 첫 번째 캐치 블록이 실행됩니다.
PHP에서 예외를 다시 줄 수 있습니까?
PHP의 예외를 기록하는 방법은 무엇입니까?
위 내용은 PHP 마스터 | 예외적 인 예외의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!