返回时抛出 scala.runtime.NonLocalReturnControl$mcV$sp

the*_*chd 8 scala

这个异常在 packet.scala 的第 36 行(return 语句)抛出,这个 lambda 在第 53 行被 Side.handlePacket 调用。

完整日志:

 [INFO|2017-02-07 19:43:25|main] Intermediary starting up…
 [INFO|2017-02-07 19:43:25|Dispatcher Thread] Listening on port 31102
 [INFO|2017-02-07 19:43:25|main] Registered packet deserializer for packet 00 for side Server
 [INFO|2017-02-07 19:43:25|main] Registered packet class common.net.packet.PacketTest for side Server
 [INFO|2017-02-07 19:43:28|Dispatcher Thread] Queued connection /127.0.0.1:57026
 [INFO|2017-02-07 19:43:28|Connection Thread 0] New connection: /127.0.0.1:57026
 [DEBUG|2017-02-07 19:43:28|Connection Thread 0] New packet handler for class class common.net.packet.PacketTest!
 [DEBUG|2017-02-07 19:43:28|Connection Thread 0] New packet of size 5
 [INFO|2017-02-07 19:43:28|Connection Thread 0] Connection from /127.0.0.1:57026 closed
Exception in thread "Connection Thread 0" scala.runtime.NonLocalReturnControl$mcV$sp
Run Code Online (Sandbox Code Playgroud)

我只是在学习 Scala,所以我真的不知道如何解决这个问题。我不知道捕获任何异常(Intermediary.scala 中的 try 语句仅用于打印我的“连接关闭”消息,它根本不影响错误)

我可能会抓住 NonLocalReturnControl 因为它看起来包含对象但必须有其他方法来做到这一点,对吧?

入口点位于 Intermediary.start

packet.scala中介.scala