問題タブ [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.
java - ファイルのクローズに失敗することはありますか?
in.close()
私はこのコードを見て、なぜfinally block
. の主なポイントtry-with resources
は、それcloses
がresources
正しいということです。
Java で try-with-resources を使用して、ファイルを開くことはできても閉じることができないという状況はありますか?
java-5 - java 5 のリソースで try を使用することはできますか?
Java 1.5 を使用するという制約があるプロジェクトに取り組んでいます。私の問題は、次のようなボイラープレートでいっぱいであることです:
Java 1.5 でこの問題を解決するにはどうすればよいですか? 私が達成しようとしているのは、Java 1.7 の try-with-resources などの構造を使用できるようにすることです。プログラムの実行中に何が起こってもステートメントを閉じたいだけですが、例のボイラープレートはありません。
java - try 外部の try-with リソースのリソースを使用する
SocketChannel
サーバーとクライアントの間でメッセージを送信するために使用しています。クライアントがサーバーに接続すると、サーバーはtry-with-resources try でInputStreams
andを開き、次のようにクライアントからメッセージを受信し、クライアントにメッセージを送信します。OutputStream
out
トライ外にアクセスしたい。try には、メッセージが に到着したかどうかを繰り返しチェックする while ループが含まれておりin
、正常に動作します。
次のようにして、グローバル変数を設定しようとしましたglobal_out
。
そして、次のように、この OutputStream に書き込もうとしました。
sendMessage(Object)
私はwhen should_ceck
isのみを呼び出し、 istrue
かどうかをテストしますglobal_out
がnull
、そうではありません。ただし、sendMessage(Object)
一向に戻りません。そうglobal_out
でない 場合は、何かに設定されているに違いないのに、 が終了null
する前にリソースを使用できないのはなぜですか?try-with-resources
これを回避する方法はありますか?
java - Try / Try-with-resources と Connection、Statement、および ResultSet のクローズ
私は最近、基本的な jdbc 接続スキームの処理方法について教授と話し合っています。2 つのクエリを実行したいとします。これが彼の提案です。
私はこのアプローチが好きではなく、それについて 2 つの質問があります。
rs.close()
1.A) 「他のこと」を行う場所、または行内で例外がスローされたs2.close()
場合s1
、メソッドが終了したときに閉じられなかったと思います。私はそれについて正しいですか?
1.B) 教授は、明示的に ResultSet を閉じるように私に何度も要求します (Statement のドキュメントで ResultSet を閉じることが明確になっている場合でも)。Sun はそれを推奨していると彼女は言います。そうする理由はありますか?
これは、同じことの正しいコードだと私が思うものです:
2.A) このコードは正しいですか? (メソッドが終了したときにすべてが閉じられることが保証されていますか?)
2.B) これは非常に大きくて冗長です (さらにステートメントがある場合はさらに悪化します)。try-with-resources を使用せずにこれを行うためのより短くてエレガントな方法はありますか?
最後に、これは私が最も気に入っているコードです
3) このコードは正しいですか? 私の教授は ResultSet の明示的なクローズがないため、この方法を好まないと思いますが、ドキュメントですべてがクローズされていることが明らかである限り、彼女はそれで問題ないと私に言いました。同様の例で公式ドキュメントへのリンクを提供できますか、またはドキュメントに基づいて、このコードに問題がないことを示していますか?
java - JDBC リソースの正しい使用方法
Java 7 でもそのようなコードをよく見かけます。
ただし、仕様によると、接続が閉じられると、すべてのステートメントと結果セットが解放されます。
JDBC ドライバーが JDBC API のルールに従って動作しない可能性があると聞きましたが、古い方法の方が優れています。私の質問は、それについて意見を聞くことでした。コードは見栄えが良くなりますが、危険な場合はどうなりますか? 最も好ましい方法は、ここで try-with-resourcesを使用することです。それは十分に安全ですか?