미래의 배우가 예외를 throw하면 어떻게됩니까? http://doc.akka.io/docs/akka/snapshot/scala/futures.html에서 Akka 문서에 따르면Akka 선물 예외
: 예외가 잡힌 경우 행위자 또는 디스패처가 미래를 완료 한 경우
그것은 중요하지 않습니다, 미래 대신 유효한의 그것을 포함 결과. Future에 예외가 포함되어있는 경우 을 호출하면 Await.result가 다시 throw되어 다시 으로 처리 할 수 있습니다.
나는이 코드의이 작품 실행할 때 내가보고있는 무슨이다 확실하지 않다 :
class Worker extends Actor {
def receive = {
case i: Int => throw new RuntimeException
}
}
implicit val system = ActorSystem("MySystem")
val worker = system.actorOf(Props(new Worker), name="worker")
implicit val timeout = Timeout(5 minutes)
val future = worker ? 0
val res = Await.result(future, 10 seconds)
문서에 따라, Await.result 다시 예외를 발생하지만, 내가 무엇을 얻고 것은해야한다 TimeoutException! 누군가가 이것을 분명히 할 수 있습니까?
설명해 주셔서 감사합니다. 당신이 제공 한 링크는 배우와 미래 간의 상호 작용을 명확하게 해줍니다. 나는 당신의 이해에 기초하여,이 관계를 명확히하는 데 충분히 정확한 미래에 대한 나의 위의 참조를 발견합니까? – deepkimo
아니요, 설명서가 더 좋았 으면합니다. 문제는 액터가 보낸 사람에게 아무 것도 반환하지 않는다는 것이므로 질문을 완료해야하는지 알 수 없습니다. 이것이 더 잘 문서화되었거나 질문이 막 제거되고 완전히 입력 된 수신 수신 액터 메 커니즘이 구현 된 경우 좋을 것입니다. 유형이 지정되지 않은 배우의 모호성은 형식이 지정되지 않고 완전히 알려지지 않은 응답 가능성의 모호함으로 인해 더욱 악화됩니다. – Noah
이것이 필요합니까? 'throw e // 실패한 감독자를 알립니다 .' 오류가 로그인 액터의 "잘못된 비밀번호"로 인한 것이라고 가정합니다. 상사에게 도움이 될까요? – Jus12