Akka

2016-06-13 14 views
4

다음 함수에서 배우의 응답으로 예외를 잡기 배우를 호출Akka

throw new Exception("Negative number") 

read()에 그것을 잡을하는 방법 ?

+3

, 배우를 다시 시작 부모 배우를하고 아역 배우의 모든 작업을 수행하고 감독의 전략을 재정 의하여 부모에서 자식 배우에 의해 던져진 예외를 처리 할 예외를 던지기. – curious

+0

그래서 배우에게서 발신자에게 오류를 돌려주는 가장 좋은 방법은 무엇입니까? – ps0604

+0

메시지를 보내거나이 액터의 부모에서이 예외를 처리하여 보낸 사람에게 정보를 전달하고 적절하게 감독하십시오. – curious

답변

0

낡은 질문이지만, 나는 그것을 다루는 내 방식을 떠난다. 예외가 나는 보통 배우 감독에 치료를 기대하고 있지 않다 어떤 경우

: 오류의 다른 유형의

override val supervisorStrategy = 
    OneForOneStrategy(maxNrOfRetries = 10, withinTimeRange = 1 minute) { 
    case _: ArithmeticException  => { 
     log.error("\n# ArithmeticException -> Resume\n") 
     Resume 
    } 
    // other exceptions 
    } 
} 

, 나는 오류로 응답 및 후 처리하는 경향이있다 :

case class IError(code:Int, msg:Option[String] = None) 

sender ! IError(401, msg= Some("Unauthorized"))