問題タブ [try-with-resources]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
925 参照

java - `Stream を取得するときに BufferedReader が閉じられないのはなぜですか`リソースを使って試してみますか?

Streamが try-with-resources で使用されている場合は、リーダーを閉じる必要があります。

これを考えると:

...リーダーが閉じられていませんか??

このテストは失敗します:

0 投票する
2 に答える
1501 参照

java - リソースでtryを使用して、whileループをスレッドに入れるにはどうすればよいですか?

whileループをスレッドに入れるにはどうすればよいですか?

whileループをスレッドに入れるjava.net.SocketException: Socket closedと、おそらく how が原因でスローされますtry with resources works。しかし、この種の試行でスレッドを使用する方法がわかりません。

複数のスレッドが存在するtryため、1 つはローカルの InputStream を読み取るため、もう 1 つはリモートの OutputStream を読み取るためです。

0 投票する
2 に答える
132 参照

java - Try-With-Resources が毎回新しいインスタンスを作成しない理由

TestNG を使用して単体テストを作成し、テスト データを db に保存しようとしています。以下のように、テストデータを作成するために DataProvider を使用しています。

そして、私のテストケースは、以下のように try-with-resources を使用しています:

最初のデータは正常に保存されました。ただし、try ブロックの PersistenceUtil は再度作成/初期化されないため、EntityTransaction は null になります。したがって、残りのデータに対して NPE 例外が発生します。try-with-resources ブロックで PersistenceUtil が再度初期化されないのはなぜですか。とにかく同じことを達成することはありますか?

0 投票する
1 に答える
168 参照

java - AutoCloseable によってスローされた例外を処理 (または抑制) するための推奨される方法は何ですか?

Iterables を機密にする既存の API をいくつかアップグレードしていますAutoCloseable。たとえば、次のようになります。

閉じることができる場合は、イテレータを閉じるメソッドが必要です。ここに私がこれまでに持っているものがあります:

JDK ドキュメントで がどのように参照されているかを考えるとThrowable.getSuppressed()、このコードは次のようなことを行う必要がありますか?

0 投票する
1 に答える
1550 参照

stream - ストリーム チェーンのクローズとリソースでの試行

スタックオーバーフローに関する私の最初の質問、私は終了しました;)

ストリーム チェーンを使用する場合、close() 操作はチェーンのすべてのストリームを介して伝播する必要があるため、通常はチェーンの最後のストリームを閉じるのが適切な方法です。

try-with-resource ステートメントとストリーム チェーンを組み合わせる場合、どのような方法が良いと考えられますか?

a) try ステートメント内ですべてのストリームを作成します。

または b) チェーンの最後のメンバーのみ:

最終的には両方のバージョンが機能すると思いますが、a) は重複した close() 呼び出しを生成すると思いますね。

0 投票する
4 に答える
2510 参照

java - try-with-resource 内の手動クローズ

ソースコードが入手できない、文書化が不十分なサードパーティのライブラリを使用しているとしましょう。ライブラリのメソッドの 1 つは、InputStreamさまざまなデータをロードするために を受け入れます。

ドキュメントが不足しているため、メソッドがストリームの処理が完了したときにストリームを閉じるかどうかは明確ではありません。そのため、考えられる解決策の 1 つは、安全のために、try-with-resource で呼び出しをラップすることです。

残念ながら、Java の仕様では (私の知る限り)、try-with-resource 内でリソースが手動で閉じられた場合に何が起こるかについては言及されていません。誰かがたまたま知っていますか?

0 投票する
5 に答える
1703 参照

java - Eclipse からの Java try-with リソース警告

なぜ Eclipse の場合、これは try-with アームで管理されるのですか?

このケースを処理するためのより良い方法はありますか? または日食からのジャンク警告ですか?

このケースは無効です:

0 投票する
2 に答える
2089 参照

java - 私の AutoCloseable.close() 実装は潜在的な例外を検出できますか?

AutoCloseableJava 7 の try-with-resources ステートメントで動作する を実装するときに、try ブロック内に例外があったかどうかを知りたいです。例えば:

これを説明するには:

さて、try-with-resources ステートメントが bytecodeにどのように変換されるかを理解すると、それは不可能だと思います。しかし、インストルメンテーション/リフレクション/文書化されていないコンパイラ機能を使用してRuntimeException、内部から上記にアクセスできる(信頼できる!)トリックはありますAutoCloseable.close()か?

注: 私は API 設計者であり、API コンシューマのリソースの試行コードを制御することはできません。したがって、実装はAutoCloseableサイトで行う必要があります