2011-01-06 3 views
0

약간의 검색을했는데 결과를 끌어 내기에는 너무 일반적입니다. 나는 그것이 할 수 있다고 확신하지만, 나는 적당한 지위를 찾을 수 없다. 기본적으로 나는 백 엔드로 CodeIgniter를 사용하고 있으며, 나는 예외를 던져 버린다. 예외가 발생하면 오류 페이지로 사용자를 보내고 싶지만 오류 메시지와 스택 추적을 포함시켜 오류 테이블에 저장할 수 있습니다. 최악의 시나리오는 모든 코드를 try-catch 루프에 넣는 것입니다.하지만 그것은 어리 석습니다. .htaccess 파일과 같은 것으로 할 수있는 것이 있습니까? 리디렉션과 함께 전달해야하는 예외가 필요하다는 것을 기억하십시오.PHP 오류를 오류 페이지와 함께 리디렉션합니다.

답변

1

set_exception_handlerset_error_handler 함수를 살펴보면 내가 원하는 것 같아요. 또한 PHP 문서의 Error Handling 세션에서.

+0

그게 내가 원하는 부분이었습니다. set_exception_handler와 set_error_handler의 차이점은 무엇입니까? 나는 set_exception_handler를 우연히 만났고 누군가가 모든 오류를 포착하지 못한다고 불평했다. – JohnathanKong

+0

'set_exception_handler'에 설정된 함수는 예외가 try/catch 블록 외부로 던져지면 호출됩니다. 예외를 잡았을 때 funciton은 트리거되지 않습니다.'set_error_handler'의 함수는 스크립트에서 발생하는 모든 오류를 처리합니다 ,이 에러가 발생했을 때 핸들러가 아직 등록되지 않았기 때문에 E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING을 잡아 내지 못합니다. 문서가 말했듯이, E_STRICT의 대부분은 같은 파일에서 발생하면 catch되지 않습니다. 'set_error_handler' 호출되고 있습니다. – Alisson

관련 문제