22

次のような単純な構造から戻り値を返すことができないのは残念だということがわかりました。try ... catch ... finally

 def foo: String = {
    val in = new BufferedReader(.....)
    try {
      // val in = new BufferedReader(.....) -- doesn't matter
      in.readLine
    }
    catch {
      case e: IOException => e.printStackTrace()
    }
    finally {
      in.close()
    }
  }

このコードはコンパイルされません。ライブラリや高レベルの構造などを使用してコンパイルを期待させる方法はありますか? 純粋な Scala の能力をプログラミング言語として使用するだけで、それを実現したいと考えています。

4

4 に答える 4