2016-07-14 5 views
0

내부 서버 오류없이 symfony 3에서 예외를 생성 할 수 있습니까?symfony 3 예외 (예외없이) 500

이 예외 (데이터베이스에 추가)를 사용하여 작업을 수행하려고하지만 애플리케이션 실행을 중단하지 마십시오.

+1

예외를 'catch'하는 한 문제가 무엇인지 알 수 없습니다. –

답변

0

내가 원하는 것은 단순히 catch 예외는 아니지만 처리 (귀하의 경우 : 로그)가 인 경우 예외입니다.

이것은 일반적인 시나리오이므로 in the cookbook으로 설명됩니다. 기본적으로 "kernel.event_listener"이벤트에 대한 서비스로 등록한 이벤트 리스너 클래스를 만듭니다.

0

내가 만든 사용자 정의 예외를 생성했기 때문에 나는 또한 고민했습니다. 그러나 Symfony가 무엇을했는지에 상관없이 500의 http 상태를 반환합니다. 제어 된 방식으로 오류를 처리하고 있었고 사용자에게 알릴 필요가있었습니다. 이는 사용자에게 메시지 였기 때문에 더 많은 상태 200 응답이었습니다.

어쨌든 나는이 작동하지 않았다는 것을 발견

$event->setResponse(new Response(json_encode($returnArray), 200)); 

을하지만 그것은 작동하는 헤더를 추가 한 경우, 심포니 나중에이 헤더를 검색하고 존중합니다. 당신이 대신의/예외/HttpException을 사용하는 경우 헤더없이 심포니는

$event->setResponse(new Response(json_encode($returnArray), 200, array('X-Status-Code' => 200))); 

난 아직도이 예외 일 새로운, 그래서 내가 뭘 뭔가 잘못되면 알려하지만, (500)를 할당 그 머리말이 내 문제를 고쳤다.