タグ付けされた質問 「exception」

例外は、プログラムの通常のフローからの逸脱を必要とする異常な状態です。通常、例外が原因で完全な障害が発生することはなく、例外ハンドラーが付きます。例外処理は、多くのプログラミング言語に組み込まれている構造です。通常、例外はスタックを巻き戻し、例外のスコープ外の定義された状態にロールバックしてからハンドラーブロックまたはルーチンを呼び出すことによって処理されます。

16
英語の例外メッセージ?
Exception.Messageをファイルに書き込むことで、システムで発生したすべての例外をログに記録しています。ただし、クライアントの文化に基づいて記述されています。そして、トルコ語のエラーは私にとってはあまり意味がありません。 では、ユーザーカルチャーを変更せずに、エラーメッセージを英語で記録するにはどうすればよいでしょうか。

8
Javaでカスタム例外クラスを定義する方法、最も簡単な方法は?
私は自分の例外クラスを最も簡単な方法で定義しようとしています、そしてこれは私が得ているものです: public class MyException extends Exception {} public class Foo { public bar() throws MyException { throw new MyException("try again please"); } } これはJavaコンパイラが言うことです: cannot find symbol: constructor MyException(java.lang.String) このコンストラクタはから継承する必要があると感じましjava.lang.Exceptionたね。


8
ASP.NET Core Web APIの例外処理
長年にわたって通常のASP.NET Web APIを使用した後、新しいREST APIプロジェクトにASP.NET Coreを使用しています。ASP.NET Core Web APIで例外を処理するための良い方法はありません。例外処理フィルター/属性を実装しようとしました: public class ErrorHandlingFilter : ExceptionFilterAttribute { public override void OnException(ExceptionContext context) { HandleExceptionAsync(context); context.ExceptionHandled = true; } private static void HandleExceptionAsync(ExceptionContext context) { var exception = context.Exception; if (exception is MyNotFoundException) SetExceptionResult(context, exception, HttpStatusCode.NotFound); else if (exception is MyUnauthorizedException) SetExceptionResult(context, exception, HttpStatusCode.Unauthorized); …

2
slf4j:フォーマットされたメッセージ、オブジェクト配列、例外をログに記録する方法
設定されたメッセージと例外のスタックトレースの両方をログに記録する正しい方法は何ですか? logger.error( "\ncontext info one two three: {} {} {}\n", new Object[] {"1", "2", "3"}, new Exception("something went wrong")); 次のような出力を生成したいと思います。 context info one two three: 1 2 3 java.lang.Exception: something went wrong stacktrace 0 stacktrace 1 stacktrace ... slf4jバージョン1.6.1
275 java  exception  logging  slf4j 




16
デストラクタから例外を投げる
ほとんどの人が言うん未定義の動作結果そう-デストラクタの外に例外をスローしません。Stroustrupは、「ベクターデストラクタはすべての要素に対して明示的にデストラクタを呼び出す。これは、要素デストラクタがスローすると、ベクトルの破棄が失敗することを意味する...デストラクタからスローされる例外から保護するための適切な方法は実際にはないため、ライブラリ要素デストラクタがスローした場合の保証はありません」(付録E3.2から)。 この記事はそうではないようです-投げるデストラクタは多かれ少なかれ大丈夫です。 だから私の質問はこれです-デストラクタからスローすると未定義の動作が発生する場合、デストラクタ中に発生したエラーをどのように処理しますか? クリーンアップ操作中にエラーが発生した場合、それを無視しますか?スタックを処理できる可能性があるが、デストラクタで正しく処理できないエラーの場合、デストラクタから例外をスローするのは理にかなっていますか? 明らかにこれらの種類のエラーはまれですが、可能です。

6
例外のスローのどの部分が高価ですか?
Javaでは、実際にはエラーがない場合にロジックの一部としてthrow / catchを使用することは、(一部では)一般に悪い考えです。例外のスローとキャッチはコストがかかり、ループで何度も実行することは通常、他の方法よりもはるかに遅いためです。例外のスローを含まない制御構造。 私の質問は、スロー/キャッチ自体で発生するコストですか、それとも例外オブジェクトを作成するときに発生しますか(実行スタックを含む多くのランタイム情報を取得するため)? つまり、もし Exception e = new Exception(); しかしそれを投げないでください、それは投げのコストのほとんどですか、それとも投げ+キャッチは高価なものを処理していますか? コードをtry / catchブロックに配置すると、そのコードを実行するコストが増えるかどうかは尋ねていません。例外のキャッチが高価な部分であるか、または例外の作成(コンストラクターの呼び出し)が高価な部分であるかどうかを尋ねています。 。 これを尋ねる別の方法は、例外のインスタンスを1つ作成し、それを何度もスローしてキャッチした場合、スローするたびに新しい例外を作成するよりもはるかに速いでしょうか?

20
例外後に再試行する方法は?
で始まるループがありますfor i in range(0, 100)。通常は正常に動作しますが、ネットワークの状態が原因で失敗する場合もあります。現在私はそれが失敗したときにそれがcontinueexcept節にあるように設定しています(の次の番号に続きiます)。 同じ番号を再度割り当てi、失敗したループの繰り返しをもう一度実行することは可能ですか?


7
Assert.Throwsを使用して例外のタイプをアサートするにはどうすればよいですか?
Assert.Throws例外のタイプと実際のメッセージの表現をアサートするにはどうすればよいですか。 このようなもの: Assert.Throws<Exception>( ()=>user.MakeUserActive()).WithMessage("Actual exception message") 私がテストしているメソッドは、異なるタイプの同じタイプの複数のメッセージをスローし、コンテキストに応じて正しいメッセージがスローされることをテストする方法が必要です。

9
スタック破壊が検出されました
a.outファイルを実行しています。実行後、プログラムはしばらく実行され、次のメッセージで終了します。 **** stack smashing detected ***: ./a.out terminated* *======= Backtrace: =========* */lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x48)Aborted* これの考えられる理由は何ですか?それをどのように修正しますか?
246 c  exception  stack 

15
すべての例外をキャッチするC ++
Javaに相当するC ++はありますか try { ... } catch (Throwable t) { ... } ネイティブのWindows関数を呼び出すJava / jniコードをデバッグしようとしていますが、仮想マシンがクラッシュし続けます。ネイティブコードは単体テストでは問題なく表示され、jniから呼び出された場合にのみクラッシュするようです。一般的な例外キャッチメカニズムは非常に便利です。
244 c++  exception 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.