가이 같은 '전달자'로 예외 핸들러를 정의하는 것은 의미가 않습니다 감안할 때 동일한 코드 반복을 피하기 위해 예외를 처리하기 위해 이미 존재하는 오류 처리기. 예외 처리기 내부에서 오류를 트리거하면 문제가 발생합니까?트리거 오류가
Q
트리거 오류가
2
A
답변
1
전혀 문제가 없습니다. 나는 동일한 설정을 가지고 있으며, 오류 처리기는 예외와 오류를 이메일로 보낸다.
여기 내 예외 처리기입니다. 나는 잡히지 않은 예외가 있다는 오류를 나타냅니다. 이 방법은 오류가 아니라 예외로 인해 발생했음을 알고 있습니다. 또한 get_class 때문에 예외가 발생합니다. 내 오류 처리기 이후
function exception_handler(Exception $e) {
trigger_error('Uncaught ' . get_class($e) . ', code: ' . $e->getCode() . "<br/>\n Message: " . htmlentities($e->getMessage()), E_USER_WARNING);
}
내가 예외 처리기에서 HTML이 HTML 전자 메일을 보냅니다. 제거하고 싶을 수도 있습니다.
1
전에 PHP 코드에서 오류 및 예외가 혼합되어있는 것을 보았습니다. 기술적으로는 문제가 발생하지 않지만 코드를 유지 관리하는 개발자에게는 혼란을 야기 할 수 있습니다. 시간이 있으면 모든 trigger_error 코드를 리팩터링하여 예외를 대신 사용하는 것이 좋습니다. 물론 PHP 자체가 만들고있는 trigger_error 물건들로 막혀 있지만, 대부분의 상황을 피할 수 있기를 바랍니다.
관련 문제
- 1. After 트리거 Sql Server 2005에서 오류가 발생한다
- 2. 오라클 트리거 생성시 삽입 오류가 발생합니까?
- 3. 트리거,
- 4. 트리거
- 5. 트랜잭션과 트리거
- 6. 트리거 여기
- 7. 트리거 만들기
- 8. ADODB를 사용하는 동안 Oracle 트리거 오류가 캡처되지 않습니다.
- 9. MySQL은 5.2.3 구문 오류가 트리거 테이블 ISCR에 이와
- 10. MySQL의 트리거 : ERROR 1064 (42000) : 당신은 당신의 SQL 구문에 오류가
- 11. MySQL 트리거 오류 phpAdmin에서
- 12. jquery.autocomplete.js 라디오 선택 및 트리거 해제시 트리거
- 13. 트리거 삭제 후 트리거 테이블이 변경됩니까?
- 14. MS SQL Server 다른 트리거 후 트리거
- 15. 트리거 자체를 제외한 모든 수신기의 이벤트 트리거
- 16. mysql 트리거 쿼리. 맞습니까?
- 17. 트리거 구문 오류
- 18. SQLServer 트리거
- 19. 업데이트 트리거
- 20. WPF 트리거
- 21. 트리거 이벤트는
- 22. XAML에서 트리거
- 23. 오라클의 트리거
- 24. SQL : 트리거
- 25. Postgresql 트리거
- 26. SQL 트리거
- 27. 트리거 애니메이션
- 28. 세션에서 트리거
- 29. MySQL의 트리거
- 30. MySQL의 트리거 쿼리에 phpMyAdmin에서
예외와 오류는 별개입니다. 나는 당신이 예외에 대한 어떤 trigger_error 호출을 리펙토링 할 수 있다는 것에 동의하지만, 이것은 제거 할 수없는 내장 에러를 처리하지 않을 것이다. 네가 말했듯이. :) – MitMaro
아, 물론이 방법 (예외 처리기 트리거링 오류 대신 예외를 발생시키는 오류 처리기 만들기)도 수행 할 수 있습니다. 그러나 어떤 방법이 바람직한지 궁금합니다. 이유는 무엇입니까? –
예외는 하나의 매개 변수만을 사용하고 오류는 여러 매개 변수를 취하므로 OP 방식이 더 쉽습니다. – MitMaro