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

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

6
WPFアプリケーションで例外をグローバルにキャッチしますか?
実行時に例外がスローされるWPFアプリケーションがあります。未処理の例外をグローバルにキャッチしてログに記録しますが、それ以外は何も起こらなかったかのようにプログラムの実行を続行します(VBのようなものOn Error Resume Next)。 これはC#で可能ですか?もしそうなら、例外処理コードをどこに置く必要がありますか? 現在、try/をラップして、catch発生する可能性のあるすべての例外をキャッチできる単一のポイントを確認できません。そして、それでも私はキャッチのために実行されたものは何でも残していたでしょう。または私はここでひどく間違った方向に考えていますか? ETA:以下の多くの人々がそれを指摘したので:アプリケーションは原子力発電所を制御するためのものではありません。クラッシュしたとしても、それほど大きな問題ではありませんが、UIに関連するランダムな例外は、それが使用される状況では問題になります。プラグインアーキテクチャを使用しており、他の人(その場合は学生もいるため、完全にエラーのないコードを記述できる経験豊富な開発者はいない)によって拡張される可能性があるため、いくつかあります(おそらくまだあります)。 キャッチされる例外については、完全なスタックトレースを含めて、ログファイルに記録します。それがその演習の要点でした。文字通り、VBのOERNに私の類推をしている人々に対抗するためだけに。 特定のクラスのエラーを盲目的に無視することは危険であり、アプリケーションインスタンスを破損する可能性があることを知っています。前述のように、このプログラムは誰にとってもミッションクリティカルではありません。彼らの正しい心の中の誰もがその上に人間の文明の生存を賭けないでしょう。これは、特定の設計アプローチをwrtでテストするための単なる小さなツールです。ソフトウェア工学。 アプリケーションをすぐに使用する場合、例外で発生する可能性のあることは多くありません。 例外処理なし–エラーダイアログとアプリケーションは終了します。実験は繰り返される必要がありますが、別の主題で可能性があります。エラーはログに記録されていませんが、残念です。 一般的な例外処理–害のない無害なエラーがトラップされます。これは、開発中に発生したすべてのエラーから判断される一般的なケースです。この種のエラーを無視しても、直接的な影響はありません。コアデータ構造は十分にテストされているため、簡単にこれに耐えることができます。 一般的な例外処理–重大なエラーがトラップされました。後でクラッシュする可能性があります。これはまれに発生する可能性があります。今まで見たことがありません。エラーはとにかく記録され、クラッシュは避けられないかもしれません。したがって、これは概念的には最初のケースと同様です。スタックトレースがあることを除いて。そして、ほとんどの場合、ユーザーは気付くことさえありません。 プログラムによって生成された実験データについて:深刻なエラーは最悪の場合、データが記録されないだけです。実験の結果をほんの少しだけ変えるような微妙な変更は、ほとんどあり得ません。その場合でも、結果が疑わしいと思われる場合は、エラーがログに記録されます。完全な外れ値である場合でも、そのデータポイントを破棄できます。 要約すると、はい、私自身は少なくとも部分的には正気であると考えています。また、プログラムを実行したままにするグローバル例外処理ルーチンは必ずしも完全に悪であるとは考えていません。前に2回言ったように、アプリケーションによっては、このような決定が有効な場合があります。この場合、それは有効な決定であると判断され、合計ではなく、でたらめです。他のアプリケーションでは、決定が異なる場合があります。しかし、私たちまたはエラーを無視しているという理由だけで、世界を爆破する可能性があるそのプロジェクトに取り組んだ他の人々を非難しないでください。 補足:そのアプリケーションのユーザーは1人だけです。WindowsやOfficeのように何百万人もが使用しているものではなく、例外をユーザーにバブルさせるコストは、そもそも非常に異なっています。

3
JObjectを.NETオブジェクトに逆シリアル化する方法
Newtonsoft JSONライブラリを楽しく利用しています。たとえばJObject、.NETオブジェクトからを作成します。この場合は、Exceptionのインスタンスです(サブクラスの場合とそうでない場合があります)。 if (result is Exception) var jobjectInstance = JObject.FromObject(result); これで、ライブラリがJSONテキスト(つまり文字列)をオブジェクトに逆シリアル化できることがわかりました // only works for text (string) Exception exception = JsonConvert.DeserializeObject<Exception>(jsontext); しかし私が探しているのは: // now i do already have an JObject instance Exception exception = jobjectInstance.???? さてJObject、JSONテキストに戻ってから逆シリアル化機能を使用できることは明らかですが、それは私には逆に思えます。


30
TransactionTooLargeExceptionで何をするか
を手に入れましたTransactionTooLargeException。再現できません。ドキュメントでそれは言う バインダートランザクションが大きすぎるため、失敗しました。 リモートプロシージャコール中に、呼び出しの引数と戻り値は、バインダートランザクションバッファーに格納されたParcelオブジェクトとして転送されます。引数または戻り値が大きすぎてトランザクションバッファーに収まらない場合、呼び出しは失敗し、TransactionTooLargeExceptionがスローされます。 ... リモートプロシージャコールがTransactionTooLargeExceptionをスローする場合、2つの結果が考えられます。クライアントが要求をサービスに送信できなかったか(おそらく引数が大きすぎてトランザクションバッファーに収まらない場合)、またはサービスがクライアントに応答を送信できなかった(おそらく戻り値がトランザクションバッファーに収まらないほど大きい)。 ... だから、どこかで未知の制限を超える引数を渡したり受け取ったりしています。どこ? スタックトレースは有用なものを何も示していません: java.lang.RuntimeException: Adding window failed at android.view.ViewRootImpl.setView(ViewRootImpl.java:548) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:406) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:320) at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:152) at android.view.Window$LocalWindowManager.addView(Window.java:557) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2897) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) at android.app.ActivityThread.access$600(ActivityThread.java:139) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:4977) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method) Caused by: …
239 android  exception 

13
python:発生した例外の種類を知るにはどうすればよいですか?
メインプログラムから呼び出される関数があります。 try: someFunction() except: print "exception happened!" ただし、関数の実行の途中で例外が発生するため、そのexcept部分にジャンプします。 someFunction()例外が発生する原因となったで何が起こったのかを正確に確認するにはどうすればよいですか?
230 python  exception 

7
カスタム.NET例外をシリアル化可能にする正しい方法は何ですか?
具体的には、例外にカスタムオブジェクトが含まれていて、それ自体がシリアル化可能である場合とそうでない場合があります。 この例を見てみましょう: public class MyException : Exception { private readonly string resourceName; private readonly IList<string> validationErrors; public MyException(string resourceName, IList<string> validationErrors) { this.resourceName = resourceName; this.validationErrors = validationErrors; } public string ResourceName { get { return this.resourceName; } } public IList<string> ValidationErrors { get { return this.validationErrors; } } } …

7
Java List.add()UnsupportedOperationException
オブジェクトをList<String>インスタンスに追加しようとすると、がスローされますUnsupportedOperationException。なぜ誰か知っていますか? 私のJavaコード: String[] membersArray = request.getParameterValues('members'); List<String> membersList = Arrays.asList(membersArray); for (String member : membersList) { Person person = Dao.findByName(member); List<String> seeAlso; seeAlso = person.getSeeAlso(); if (!seeAlso.contains(groupDn)){ seeAlso.add(groupDn); person.setSeeAlso(seeAlso); } } エラーメッセージ: java.lang.UnsupportedOperationException java.util.AbstractList.add(Unknown Source) java.util.AbstractList.add(Unknown Source) javax.servlet.http.HttpServlet.service(HttpServlet.java:641) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)


27
java.lang.NoClassDefFoundErrorを解決するには?
OracleのJavaチュートリアルで両方の例を試しました。どちらも正常にコンパイルされますが、実行時に両方ともこのエラーが発生します。 Exception in thread "main" java.lang.NoClassDefFoundError: graphics/shapes/Square at Main.main(Main.java:7) Caused by: java.lang.ClassNotFoundException: graphics.shapes.Square at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 1 more Main.javaファイルが間違ったフォルダにある可能性があります。次にディレクトリ階層を示します。 graphics ├ Main.java ├ shapes | ├ Square.java | ├ Triangle.java ├ linepoint | ├ Line.java | ├ …

20
Debug.Assert()はいつ使用する必要がありますか?
私は約1年間プロのソフトウェアエンジニアとして、CSの学位を取得しています。私はC ++とCでアサーションについてしばらく知っていましたが、最近までC#と.NETにアサーションが存在することをまったく知りませんでした。 私たちのプロダクションコードにはアサートがまったく含まれておらず、私の質問はこれです... 製品コードでアサートの使用を開始する必要がありますか?もしそうなら、いつその使用が最も適切ですか?行う方が理にかなっていますか Debug.Assert(val != null); または if ( val == null ) throw new exception();

22
JavaScriptでカスタムエラーを作成するにはどうすればよいですか?
何らかの理由で、次のスニペットではコンストラクター委任が機能しないようです。 function NotImplementedError() { Error.apply(this, arguments); } NotImplementedError.prototype = new Error(); var nie = new NotImplementedError("some message"); console.log("The message is: '"+nie.message+"'") 実行これができますThe message is: ''。なぜ、または新しいErrorサブクラスを作成するより良い方法があるかについてのアイデアはありますか?私が知らないapplyネイティブErrorコンストラクターへのingに問題がありますか?

12
Java ExecutorServiceタスクからの例外の処理
JavaのThreadPoolExecutorクラスを使用して、多数の重いタスクを一定数のスレッドで実行しようとしています。各タスクには、例外のために失敗する可能性のある多くの場所があります。 サブクラス化ThreadPoolExecutorしafterExecute、タスクの実行中に発生したキャッチされない例外を提供することになっているメソッドをオーバーライドしました。しかし、私はそれを機能させることができないようです。 例えば: public class ThreadPoolErrors extends ThreadPoolExecutor { public ThreadPoolErrors() { super( 1, // core threads 1, // max threads 1, // timeout TimeUnit.MINUTES, // timeout units new LinkedBlockingQueue<Runnable>() // work queue ); } protected void afterExecute(Runnable r, Throwable t) { super.afterExecute(r, t); if(t != null) { System.out.println("Got an …

18
チェックされた例外とチェックされていない例外を選択するタイミング
Java(または例外がチェックされている他の言語)では、独自の例外クラスを作成するときに、クラスをチェックするかチェックしないかをどのように決定しますか? 私の本能は、チェックされた例外は呼び出し側が何らかの生産的な方法で回復できる可能性がある場合に呼び出され、チェックされていない例外は回復不可能な場合により多くなるが、私は他の人の考えに興味があると言うことです。

27
ファイルまたはアセンブリを読み込めませんでした…パラメータが正しくありません
最近、C#ソリューションで次の例外に遭遇しました。 エラー2ファイルまたはアセンブリ 'Newtonsoft.Json、Version = 3.5.0.0、Culture = neutral、PublicKeyToken = b9a188c8922137c6'またはその依存関係の1つを読み込めませんでした。パラメータが正しくありません。(HRESULTからの例外:0x80070057(E_INVALIDARG)) これは私のコードにもアセンブリの名前にも依存しません(Newtonsoft.Jsonこの場合のように)。 ソリューションからこのdllを削除すると、コンパイラーは同じ例外内の別のDLLについて通知します。だから私は何かが私のPCでオフ/オンになっていると思います:)


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