問題タブ [try-catch]
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 - tryステートメントで変数を設定しないようにする方法
私の問題は、tryステートメントで変数を設定する必要があることです。そうしないと、コンパイルエラーが発生します。
後でその変数を使用する必要がありますが、現在は範囲外であるか、そう信じています。tryステートメントの外部で変数を初期化し、それをnullに設定します。その後、外部からアクセスできる可能性があると思いましたが、それでも。を取得しNullPointerException
ます。
以下のコードは、読みやすくするために多くのコードが削除されています。これは悪いコードですが、サーブレットは初めてであり、すべての可動部分が想定どおりに動作することを確認したかっただけです。
createDocs(...)を呼び出し、必要なパラメーターを渡す別のクラスを作成しましたが、正常に機能します。これは、他のクラス(便宜上mainメソッドから実行)から実行するものであり、期待どおりに機能するため、呼び出したときになぜrs.getString("name")
取得するのか不思議に思っています。NullPointerException
問題の変数はResultSet変数"rs"です-
c# - try、catch ブロックを使用する目的は何ですか?
それはif、thenブロックの代わりですか?そのように使用されている多くのコードを見てきました。
python - try... except... except... : コードの繰り返しを避ける方法
errorCount += 1
複数の場所に書き込むことは避けたいと思います。- 私はより良い方法を探しています
- 私は
store.rollback()
すべてのexcept節で避けようとしています。
これを行う方法について何か考えはありますか?
c# - C# で例外をキャッチして再スローするのはなぜですか?
私は記事C# -シリアライズ可能な DTO 上のデータ転送オブジェクトを見ています。
この記事には、次のコードが含まれています。
記事の残りの部分は (初心者にとっては) 正気で合理的に見えますが、その try-catch-throw は WtfException をスローします...これは、例外をまったく処理しないこととまったく同じではありませんか?
エルゴ:
または、C# でのエラー処理に関する基本的な何かが欠けていますか? Java とほぼ同じです (チェック例外を除いて) ですね。... つまり、どちらも C++ を改良したものです。
スタック オーバーフローの質問パラメータなしのキャッチを再スローすることと何もしないことの違いは? try-catch-throw はノーオペレーションであるという私の主張を支持しているようです。
編集:
将来このスレッドを見つけた人のために要約すると...
しない
スタック トレース情報は、問題の根本原因を特定する上で非常に重要です。
行う
より具体的な例外よりも具体的な例外をキャッチします (Java と同様)。
参考文献:
vb.net - Visual Studio がデバッグ モードで try/catch を無視するようにするより良い方法はありますか
デバッグ中にデザイナーにエラーをキャッチしてもらい、エラーが発生した場合にユーザーにわかりやすいメッセージを表示してもらいたい. 私はこれを次のように達成できることを知っています:
すべての #statements を記述してコードを乱雑にする必要はありません。これは共通のニーズであるように思われ、より良い方法が必要です。誰かがより良い方法を知っていますか?
sql - Select ステートメントの CONVERT で TRY CATCH
SQL Selects で TRY CATCH ブロックを使用することは可能ですか?
たとえば、これに似たものについては:
このシナリオを処理する最善の方法は何ですか?
c# - ステートメント展開を使用した興味深い C#
これを見つけるためにildasmを実行しました:
これと同等の IL コードを生成します。
問題は、なぜ最終的に null をチェックするのかということです。finally ブロックは、try ブロックが実行された場合にのみ実行され、try ブロックは、Simple コンストラクターが成功した場合 (つまり、例外がスローされない場合) にのみ実行されます。この場合、simp は非 null になります。(Simple コンストラクターと try ブロックの先頭の間に何らかのステップが介在するのではないかという懸念がある場合、それは本当に問題になります。例外がスローされて、finally ブロックの実行がまったく妨げられる可能性があるからです。)それで、なぜ一体?
using ステートメントが try-finally よりも優れているかどうかの議論は (お願いします) 脇に置いて、try-finally ブロックを次のように記述します。
c++ - C++ での try/catch ブロックの使用
一般に、共通のハンドラを持つ複数の障害ポイントを持つコードには、try/catch を使用する傾向があります。
私の経験では、これは通常、何らかのアクションを実行する前に入力またはコンテキストを修飾するか、何らかのアクションを実行した後に出力を修飾するコードです。
そのようなブロック内のコードを最小限に抑えるように文献や同僚からアドバイスを受けており、一般的には良いアドバイスとして受け入れています。
上記のアドバイスの基礎についてもう少し理解したいと思います。
- オーバーヘッドの性質は何ですか?
- try/catch ブロックの推奨される使用 (または回避) に対処する最近の開発ガイドラインはありますか?
- より高速なプロセッサーと最新のコンパイラーは、try/catch の問題をどの程度軽減しますか?
助けてくれてありがとう、
AJ