問題タブ [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.

0 投票する
6 に答える
7683 参照

javascript - 予期される時折のエラーを無視するJavaScriptのtry-catchは悪い習慣ですか?

JavaScript では、null のブロック内の多くの属性をテストするのではなく、try-catch ブロックを使用してエラーを無視するのは間違っていますか?

0 投票する
21 に答える
123089 参照

java - try...catch はループの内側または外側に移動する必要がありますか?

次のようなループがあります。

これは、float の配列を返すことだけを目的とするメソッドの主な内容です。nullエラーが発生した場合にこのメソッドを返したいので、次のようにループをtry...catchブロック内に配置します。

try...catchしかし、次のようにブロックをループ内に配置することも考えました。

どちらか一方を優先する理由、パフォーマンス、またはその他の理由はありますか?


編集:コンセンサスは、ループを try/catch 内、おそらく独自のメソッド内に配置する方がクリーンであるということです。ただし、どちらが速いかについてはまだ議論があります。誰かがこれをテストして、統一された答えを返すことができますか?

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

design-patterns - 「TryParse/Parselike」パターン:それを実装するための最良の方法は何ですか

この質問は、メソッドが失敗したことを示す方法からのフォローアップです。xxx()Tryxxx()パターンは、多くのライブラリで非常に役立つものです。コードを複製せずに両方の実装を提供するための最良の方法は何でしょうか。

最高のもの:

また

私は本能的に最初の例がより正しいと思います(どの例外が発生したかを正確に知っています)が、try / catchは高すぎるのではないでしょうか?2番目の例で例外をキャッチする方法はありますか?

0 投票する
11 に答える
39183 参照

java - ネストされたtry/catchブロックの設定はありますか?

Javaでリーダーとストリームを使用することについて常に私を悩ませていることの1つは、close()メソッドが例外をスローする可能性があることです。closeメソッドをfinallyブロックに入れるのは良い考えなので、少し厄介な状況が必要になります。私は通常この構造を使用します:

しかし、私はこの構造も見ました:

キャッチブロックが1つしかなく、よりエレガントに見えるので、最初の構造が好きです。実際に2番目または代替の構造を好む理由はありますか?

read更新:両方ともcloseIOExceptionsのみをスローすることを指摘した場合、違いはありますか?したがって、読み取りが失敗した場合、同じ理由で閉じることが失敗する可能性があります。

0 投票する
13 に答える
12411 参照

c++ - C ++では、エラーコードを返すだけでなく、例外を使用してtry / catchを使用する利点は何ですか?

私は長い間CとC++をプログラムしてきましたが、これまで例外を使用してtry/catchを実行したことはありません。関数にエラーコードを返す代わりにそれを使用する利点は何ですか?

0 投票する
3 に答える
26582 参照

powershell - Windows Powershellには、Try / Catchまたはその他のエラー処理メカニズムがありますか?

スクリプトで、コマンドレットまたはその他の実行可能ステートメントがエラーになった場合、これらのエラーから回復するためのtry / catchタイプのメカニズムはありますか?私はドキュメントで1つに出くわしていません。

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

sql-server - SQL Server 2005 - Error_Message() に完全なメッセージが表示されない

Try/Catch でバックアップ データベース コマンドをカプセル化しましたが、エラー メッセージがどこかで失われているようです。例えば:

..エラーが発生します:
データベース 'NonExistantDB' の sysdatabases にエントリが見つかりませんでした。その名前のエントリは見つかりませんでした。名前が正しく入力されていることを確認してください。BACKUP DATABASE が異常終了しています。

一方:

... エラーのみが表示されます: BACKUP DATABASE が異常終了しています。

完全なエラー メッセージを取得する方法はありますか、それとも try/catch の制限ですか?

0 投票する
3 に答える
511 参照

c# - finally ブロックで戻り値にアクセスすることは合法で可能ですか?

関数内の戻りコードと変数に応じて、関数を終了する前に usererror 文字列を設定したいと考えています。

私は現在持っています:

return RetType.FailedParse を使用して、finally ブロックでこれにアクセスすることは可能ですか?

0 投票する
7 に答える
33399 参照

c++ - C ++で例外が(舞台裏で)どのように機能するか

例外は遅いと言う人をよく見かけますが、その証拠は見当たりません。したがって、そうであるかどうかを尋ねる代わりに、例外が舞台裏でどのように機能するかを尋ねます。これにより、例外をいつ使用するか、例外が遅いかどうかを判断できます。

私が知っていることから、例外は、リターンの束を何度も実行するのと同じですが、リターンのたびに、別のリターンを実行する必要があるか、停止する必要があるかどうかもチェックします。復帰を停止するタイミングをどのように確認しますか? 例外のタイプとスタックの場所を保持する2番目のスタックがあると思いますが、そこに到達するまで戻ります。また、この 2 番目のスタックに触れるのは、スローと各 try/catch のみであると推測しています。リターンコードを使用して同様の動作を実装する AFAICT には、同じ時間がかかります。しかし、これはあくまでも推測なので、実際にどうなるか知りたいです。

例外は実際にどのように機能しますか?

0 投票する
8 に答える
685 参照

c# - C#で複数のエラーを処理するには?

10個のレジストリキーを読み取るコードがいくつかあります。値が存在しない場合、キーが存在しない場合、値がブール値でない場合などがあります。これにエラー処理を追加するにはどうすればよいですか。現在、1つの大きな試行に配置されています{} catch{} ですが、2 番目に読み取った値が失敗した場合、プログラムが catch{} にジャンプするため、残りは読み取られません。それぞれに try{} catch{} を追加できますが、もっと良い方法があると思います. これをどのように処理しますか?似たような問題に定期的に遭遇するので質問しています。私自身の解決策は、try{} catch{} を追加することです。

助けてくれてありがとう。