모든 catch되지 않은 예외에 대한 백스톱으로 모든 액션에 try catch 문을 적용하고 싶습니다.cakephp - 액션 잡기/실행하기
catch 문이 기본 4xx 상태 코드를 돌려 보낼 수 있기 때문에 이것이 Ajax 작업에 특히 유용하다고 생각합니다. Prototype의 onFailure() 함수는 클라이언트 측 오류 처리를 수행 할 수 있습니다.
어떻게 이런 케이크 디스패처에 시도/캐치와 함께 작업 호출을 포장하지 않고이 작업을 수행 할 수 있습니다
try {
output = $controller->dispatchMethod($params['action'], $params['pass']);
}
catch {...}
아무도 제안 또는 디스패처를 건드리지 않고이 기능을 얻기위한 또 다른 가능한 전략을 가지고 있는가 ?
Displatcher에 예외 처리를 넣는 것에 대해 사람들은 어떻게 느끼나요? 나는 케이크가 PHP 4 지원을 떨어 뜨릴 때 상상한다. 이것을위한 내장 메커니즘이있을 것이다.
[편집] 나는 오류 처리 케이크를 조사했다. try/catch 없이는 기능상의 큰 손실이있는 것처럼 보입니다. 그리고 cakeErrors와 다른 예외를 혼합하는 것을 주저합니다.
와 라인
을 대체 이들은 '없는 행동'와 같은 일반적인 오류가 없습니다. 이들은 종종 다른 웹 서비스에 접속하거나 서버 (예 : 이미지 생성기) 또는 캐시 엔진에서 실행중인 다른 응용 프로그램과 작업하여 생성됩니다. 이들은 일반적으로 액션의 예외 처리에 의해 처리됩니다. 잡히지 않은 예외에 대해 보편적 인 처리를 제공 할 수있는 백스톱을 찾고있었습니다. 이것은 제가 준 예제에서 유용 할 것입니다. 링크를 가져 주셔서 감사합니다. PHP 4/Cake 방식을 살펴 보겠습니다 : ErrorHandler 클래스. 감사. – joshs
아, 나는 외부 서비스를 호출하고 응답 코드를 켜고 케이크 오류를 발생시키는 동작에서 오류 코드를 잡아서 처리 할 수있는 것처럼 보입니다. –
궁극적 인 목표는 액션에서 모든 예외를 잡는 것일 수 있지만 특히 베타 테스트 중 백스톱을 갖는 것이 좋을 것입니다. 또한, 예외 사항의 포인트는 정상적인 케이스 논리 외부에서 예기치 않은 케이스 처리를 이동하는 것입니다. 내 행동이 정교한 Exception Handler가되는 것을 원하지 않습니다 ... 특히 개발 중에 예외가 실제로 자주 던져 질지 확실하지 않은 경우. – joshs