Cyclops Reactの "Try with Resources"ブロックで、IOException
をカスタム例外タイプにマップしたいと思います。私はこれもJavaslangで試してみましたが、すべての例外を同じように扱うため、扱いにくいように見えます。「リソースを試してください」例外タイプをマップする方法は?
コード例:
private static Try<String, ConnectionError> readString() {
// Socket is a thread-local static field
final Try<String, IOException> string = Try.catchExceptions(IOException.class)
.init(() -> new BufferedReader(new InputStreamReader(socket.get().getInputStream())))
.tryWithResources(BufferedReader::readLine);
return string.isSuccess() ? Try.success(string.get()) :
Try.failure(new ConnectionError("Could not read from server", string.failureGet()));
}
は、これは、よりエレガントな方法で行うことができますか?あるいは、何の意味もなく、Try<String, IOException>
を返す方が良いでしょうか?
免責事項:私はCyclops Reactライブラリと一般的な関数型プログラミングを使用している初心者です。したがって、私は重大な概念の誤解があるかもしれません。 Javaslangを皮切り
ありがとうダニエル。現時点では、このバージョンがいつ利用可能になるのか考えていますか? –
これは、次回の2.1.0-beta(4月の初め)でリリースされる予定です。現在、2.1.0を対象とした21の未解決の問題があります。少し時間がかかる5つの問題と、それを出荷できるまでに行わなければならないいくつかの下位互換性修正があります。要するに、私は5月を目標にしています(最終版)。 –