2013-07-11 3 views
4

Rollbar라고하는 SaaS 오류 및 예외 로깅 서비스를 사용하고 있습니다. 내 코드에는 서비스에 대한 예외를보고하는 데 사용할 수있는 Rollbar 정적 개체가 있습니다. 예를 들어던지지 않고 예외를 인스턴스화 할 수 있습니까?

:

try { 
    ... 
    throw new SomeException(); 
    ... 
} catch (SomeException $e) { 
    Rollbar::report_exception($e); 
} 

내 질문은 : 그것은 다른 일반 객체 인 것처럼 내가 던지는없이 예외를 인스턴스화하고, 어떤주의가 수 있습니까?

나는이 같은 일을하고 싶습니다

if($api_response_ok) { 
    // Do some stuff 
    ... 
} else { 
    Rollbar::report_exception(new ApiException($api_error_msg)); 
} 

// Script execution continues... 
+1

downvote의 이유는 무엇입니까? 나는 그 질문을 향상시킬 수있다. – Alex

+1

나는 같은 것을 궁금해하고 있었다 - 나의 대답도 downvoted하게되었다. 자,이 upvote을 가지고 –

+0

나는 downvote하지 않았지만 나는 당신이 쉽게 시도해 볼 수 있기 때문에 그것이 될 수 있다고 확신하지 않아요. – vascowhite

답변

7

예, 예외가 다른 모든 객체 같다.

1

예외는 Exception 클래스를 확장 한 개체입니다. 스크립트가 실행되면 스크립트 실행을 중단합니다.

$exception = new Exception('Die'); 
//Does not exit here 
throw $exception; 
//Will exit here 
+2

왜 downvoted있어 보지 마세요. – Robert

+1

광산 downvote 아니었지만 내 생각 엔 아마도 예외를 던지기 스크립트 "종료"또는 "스크립트 실행 중단", 본질적으로 때문입니다 - 오히려 , PHP는 현재 스코프에서 코드 실행을 멈추고 스택 프레임에서 적절한 'catch'블록을 검색합니다. – Alex

+0

@Alex, 조금 지나치게 중요합니다. 나는 George가 전체 프로그램보다는 현재의 스크립트 문맥을 언급하고 있다고 생각한다. – Edward