最近、こっそりと RabbitMQ Java Client の Scala Wrapper を書いています。 Scala から Java のライブラリを使う場合、例外処理の扱いに困るのですが、当然、RabbitMQ Java Client も例外投げまくりです。 そこで scala.util.control.Exception.allCatch を使って例外を包んでみました。*1 class ConnectionFactory (factory: MQFactory) { def connect(): Either[Throwable, Connection] = allCatch either { new Connection(factory.newConnection) } } object ConnectionFactory { def apply(setter: (Connecti