問題タブ [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.
c++ - 例外が常にキャッチされるようにする
C++ の例外は、呼び出し元の関数でキャッチする必要はありません (コンパイル時のエラーはありません)。そのため、(Java とは異なり) try/catch を使用してそれらをキャッチするかどうかは、開発者の判断に任されています。
呼び出し元の関数が try/catch を使用して、スローされた例外が常にキャッチされるようにする方法はありますか?
java - super()呼び出しの周りにtryブロックを使用できないのはなぜですか?
したがって、Javaでは、コンストラクターの最初の行はsuperの呼び出しである必要があります...暗黙的にsuper()を呼び出す場合でも、明示的に別のコンストラクターを呼び出す場合でも同じです。私が知りたいのは、なぜその周りにトライブロックを配置できないのですか?
私の特定のケースは、テスト用のモッククラスがある場合です。デフォルトのコンストラクターはありませんが、テストを読みやすくするためのコンストラクターが必要です。また、コンストラクターからスローされた例外をRuntimeExceptionにラップしたいと思います。
だから、私がやりたいのは事実上これです:
しかし、Javaは、superが最初のステートメントではないと不満を漏らしています。
私の回避策:
これは最善の回避策ですか?なぜJavaは私に前者をさせないのですか?
「なぜ」についての私の最も良い推測は、Javaが、潜在的に矛盾した状態の構築されたオブジェクトを私に持たせたくないということです...しかし、モックを行う際には、私はそれを気にしません。私は上記を行うことができるはずです...または少なくとも私は上記が私の場合には安全であることを知っています...またはとにかくそうあるべきであるように見えます。
テストされたクラスから使用するメソッドをオーバーライドしているので、初期化されていない変数を使用しているリスクはありません。
debugging - 空の catch ブロックでの例外のデバッグ
空の catch ブロックが大量に発生する本番アプリケーションをデバッグしています:
デバッガーが IDE でキャッチにヒットしたときの例外を確認する方法はありますか?
c# - C#でのtry/catchの実際のオーバーヘッドは?
したがって、try/catch はオーバーヘッドを追加するため、プロセス フローを制御する良い方法ではないことはわかっていますが、このオーバーヘッドはどこから来て、実際の影響は何ですか?
c++ - 1 つの catch ブロックですべての種類の例外をキャッチするにはどうすればよいですか?
catch(Exception)
C++ では、( C#のように) 1 回のキャッチですべての種類の例外をキャッチしようとしています。それはどのように行われますか?さらに、ゼロ除算の例外をキャッチするにはどうすればよいでしょうか。
php - PHP での try-catch のパフォーマンス
PHP 5 で try-catch ステートメントを使用する場合、どのようなパフォーマンスへの影響を考慮する必要がありますか?
私は以前、このテーマに関する古くて矛盾しているように見える情報を Web で読んだことがあります。私が現在使用しなければならないフレームワークの多くは、php 4 で作成されたものであり、php 5 の優れた点の多くが欠けています。したがって、php で try-catch を使用した経験はあまりありません。
c# - 個々の try-catch ブロックなしでコードのすべての行を try-catch します
私は現在この問題を抱えていませんが、あなたは決して知りませんし、思考実験は常に楽しいものです.
これを試みるためにアーキテクチャで発生する明らかな問題を無視して、誰かが設計した恐ろしく書かれたコードがあり、同じコードで多種多様な操作を実行する必要があると仮定しましょう。ブロック、例:
100 倍します。これらのいくつかはうまくいくかもしれませんが、他のものはひどくうまくいかないかもしれません. 必要なのは、"on error resume next" に相当する C# です。そうしないと、多くのコード行で try-catch をコピー アンド ペーストすることになります。
この問題にどのように取り組もうとしますか?
javascript - JavaScript トライ/キャッチ
ユーザーが生成した正規表現を実行する関数があります。ただし、ユーザーが実行されない正規表現を入力すると、停止してフォールオーバーします。行を Try/Catch ブロックでラップしようとしましたが、残念ながら何も起こりません。
それが役立つ場合、私はjQueryを実行していますが、それよりも少し基本的であると推測しているため、以下のコードにはjQueryがありません。
編集:はい、「[」をエスケープしていないことはわかっています。これは意図的なものであり、質問のポイントです。私はユーザー入力を受け入れており、アプリケーションが顔を平らにすることなく、この種の問題をキャッチする方法を見つけたいと考えています。
error-handling - SQL Try-Catchブロックは、スローされたCLRエラーを処理できますか?
SQL 2005とtry-catch機能を使用して、DB内のすべてのエラー処理を処理しています。現在、DBでいくつかのWCF呼び出しを行うための.NETCLR関数の展開に取り組んでいます。このWCFプロシージャはCLRで記述され、SQLに展開されます。try-catchブロックをCLRコードに入れると、エラーを正常にキャッチします。ただし、SQLのtry-catchブロックまでエラーをスローできないようです。SQLは私が投げたものを無視しているようで、見つけたエラーをキャッチします。2つの間に関係はありません(つまり、私は一方から他方に投げることができませんか?)
CLR内からSQLの呼び出しプロシージャにスローできる場合、特別なフォーマットが必要ですか?スローされたエラーをキャッチしてから別のエラーをスローするという特定のケースを試しましたが、SQLはスローされたエラーを無視し、スローされたエラーを無視するかのように元のエラーをキャッチしました。
c# - なぜ{...}を最後に{...}試してみるのが良いのですか。{...}キャッチ{}を試してみてください。
引数なしでcatchを使用するのは悪い形式であると人々が言うのを見たことがあります。特に、そのcatchが何もしない場合はそうです。
ただし、これは適切な形式と見なされます。
私が知る限り、finallyブロックにクリーンアップコードを配置することと、try..catchブロックの後にクリーンアップコードを配置することの唯一の違いは、tryブロックにreturnステートメントがあるかどうかです(この場合、finallyのクリーンアップコードは実行しますが、try..catchの後のコードは実行しません)。
そうでなければ、最終的に何がそんなに特別なのですか?