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

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

8
Java / Android-完全なスタックトレースを出力する方法
Android(Java)で完全なスタックトレースを出力するにはどうすればよいですか?アプリケーションがnullPointerExceptionまたは何かからクラッシュした場合、次のように(ほぼ)完全なスタックトレースが出力されます。 java.io.IOException: Attempted read from closed stream. com.android.music.sync.common.SoftSyncException: java.io.IOException: Attempted read from closed stream. at com.android.music.sync.google.MusicSyncAdapter.getChangesFromServerAsDom(MusicSyncAdapter.java:545) at com.android.music.sync.google.MusicSyncAdapter.fetchDataFromServer(MusicSyncAdapter.java:488) at com.android.music.sync.common.AbstractSyncAdapter.download(AbstractSyncAdapter.java:417) at com.android.music.sync.common.AbstractSyncAdapter.innerPerformSync(AbstractSyncAdapter.java:313) at com.android.music.sync.common.AbstractSyncAdapter.onPerformLoggedSync(AbstractSyncAdapter.java:243) at com.google.android.common.LoggingThreadedSyncAdapter.onPerformSync(LoggingThreadedSyncAdapter.java:33) at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:164) Caused by: java.io.IOException: Attempted read from closed stream. at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:148) at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:159) at java.util.zip.GZIPInputStream.readFully(GZIPInputStream.java:212) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:81) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:64) at android.net.http.AndroidHttpClient.getUngzippedContent(AndroidHttpClient.java:218) at com.android.music.sync.api.MusicApiClientImpl.createAndExecuteMethod(MusicApiClientImpl.java:312) …

14
アサーションまたは例外を使用して契約で設計しますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 この質問を改善する コントラクトでプログラミングするとき、関数またはメソッドは、その前提条件が満たされているかどうかを最初にチェックしてから、その責任に取り組み始めますよね?これらのチェックを行う最も重要な2つの方法は、assertとによるものexceptionです。 アサートはデバッグモードでのみ失敗します。個別のすべての契約の前提条件を(ユニット)テストして、実際に失敗するかどうかを確認することが重要であることを確認するには デバッグおよびリリースモードで例外が失敗します。これには、テストされたデバッグ動作がリリース動作と同じであるという利点がありますが、実行時のパフォーマンスが低下します。 どちらが望ましいと思いますか? ここで関連する質問を参照してください

11
.NET:必要な構成設定がない場合にスローする例外はどれですか?
標準的なシナリオは次のとおりです。 if(string.IsNullOrEmpty(Configuration.AppSettings["foobar"])) throw new SomeStandardException("Application not configured correctly, bozo."); 問題は、例外がどれであるSomeStandardExceptionかが完全にわからないことです。 私は3.5フレームワークを熟読して2有望な候補が見つかりました:ConfigurationExceptionとConfigurationErrorsException。 System.Configuration.ConfigurationException 構成システムエラーが発生したときにスローされる例外。 備考ConfigurationExceptionアプリケーションの試みは、読み取りまたは構成ファイルへの書き込みデータが、失敗したした場合、例外がスローされます。これには、構成ファイル内の不正なXML、ファイルのアクセス許可の問題、および無効な値を持つ構成プロパティが含まれる可能性があります。 注意: ConfigurationExceptionオブジェクトは、下位互換性のために維持されます。ConfigurationErrorsException オブジェクトは、構成システムのオブジェクトを置き換えます。 この例外は実際には私が必要としているものに完璧に聞こえますが、廃止されたとマークされているので、ixnayはついに発表しました。 これは私たちを徹底的に不可解に導きますConfigurationErrorsException: System.Configuration.ConfigurationErrorsException 現在の値は、EnableSessionState値の1つではありません。 ご覧のとおり、そのドキュメントはまったく役に立ちません。(ローカルヘルプとオンラインヘルプの両方でそのようになっています。)クラス自体を調べてみると、私が望むものに対して大幅な過剰であることがわかります。 簡単に言うと、アプリケーションの構成設定がないか、無効な値が含まれている場合にスローされる標準の例外が必要です。フレームワークには、アプリケーションで使用できるようにそのような例外が組み込まれていると思います。(確かにそうでしたが、時代遅れとマークされ、スコープがはるかに大きいものに置き換えられました。) もしあれば、あなたはこれにどのような解決策を使用していますか?私はそれを吸い上げてこれについて自分の例外をロールバックする必要がありますか? 補遺を編集 デフォルト値を指定して続行できるかどうかを尋ねる人もいます。特定のケースでは、はい、そのようなケースでは、例外はスローされません。ただし、特定の設定では、これは適用されません。たとえば、データベースサーバー名と認証情報、認証サーバー、インストールされているサードパーティアプリケーションへのパスなどです。 また、私が主に取り組んでいるアプリケーションはバッチモードで実行されているコンソールアプリケーションであり、mainメソッドによってキャッチされ、適切に構成されていない場合は適切にログに記録される例外をスローすることにも注意してください。(これは私が継承したレガシーコードであり、現在はすべてが桃色だと想定しています。)

14
C ++で例外指定子を使用する必要がありますか?
C ++では、例外指定子を使用して、関数が例外をスローする場合とスローしない場合があることを指定できます。例えば: void foo() throw(); // guaranteed not to throw an exception void bar() throw(int); // may throw an exception of type int void baz() throw(...); // may throw an exception of some unspecified type 次の理由により、実際にそれらを使用することに疑問があります。 コンパイラーは、厳密には例外指定子を強制しません。そのため、利点は大きくありません。理想的には、コンパイルエラーが発生するようにします。 関数が例外指定子に違反している場合、標準的な動作はプログラムを終了することだと思います。 VS.Netでは、throw(X)をthrow(...)として扱うため、標準への準拠は強くありません。 例外指定子を使用する必要があると思いますか? 「はい」または「いいえ」で答え、答えを正当化するいくつかの理由を提供してください。

15
JavaScriptSerializer中のASP.NET MVCのMaxJsonLength例外
私のコントローラーアクションの1つでJsonResult、グリッドを満たすために非常に大きな値を返しています。 次のInvalidOperationException例外が発生します。 JSON JavaScriptSerializerを使用したシリアライゼーションまたはデシリアライゼーション中のエラー。文字列の長さがmaxJsonLengthプロパティで設定された値を超えています。 のmaxJsonLengthプロパティをweb.config高い値に設定しても、残念ながら効果はありません。 <system.web.extensions> <scripting> <webServices> <jsonSerialization maxJsonLength="2147483644"/> </webServices> </scripting> </system.web.extensions> この SOの回答で述べたように、文字列としてそれを渡したくありません。 私の調査では、この動作を回避するために独自の(例:)を作成することが推奨されているこのブログ投稿を見つけました。ActionResultLargeJsonResult : JsonResult これが唯一の解決策ですか? これはASP.NET MVCのバグですか? 何か不足していますか? 任意の助けをいただければ幸いです。

6
Django DoesNotExist例外をインポートするにはどうすればよいですか?
UnitTestを作成して、オブジェクトが削除されたことを確認しようとしています。 from django.utils import unittest def test_z_Kallie_can_delete_discussion_response(self): ...snip... self._driver.get("http://localhost:8000/questions/3/want-a-discussion") self.assertRaises(Answer.DoesNotExist, Answer.objects.get(body__exact = '<p>User can reply to discussion.</p>')) エラーが発生し続けます: DoesNotExist: Answer matching query does not exist.

5
Pythonでキャッチされた例外の名前を取得するにはどうすればよいですか?
Pythonで発生した例外の名前を取得するにはどうすればよいですか? 例えば、 try: foo = bar except Exception as exception: name_of_exception = ??? assert name_of_exception == 'NameError' print "Failed with exception [%s]" % name_of_exception たとえば、複数(またはすべて)の例外をキャッチしていて、その例外の名前をエラーメッセージに出力したいと考えています。

11
アサーションを使用する場合と例外を使用する場合
ほとんどの場合、例外を使用してコード内の条件を確認しますが、アサーションを使用するのに適切なタイミングはいつですか。 例えば、 Group group=null; try{ group = service().getGroup("abc"); }catch(Exception e){ //I dont log error because I know whenever error occur mean group not found } if(group !=null) { //do something } ここにアサーションがどのように適合するかを教えていただけますか?アサーションを使用する必要がありますか? 量産コードではアサーションを使用せず、単体テストでのみアサーションを表示するようです。私はほとんどの場合、例外を使用して上記のようなチェックを実行できることを知っていますが、「専門的に」それを行う適切な方法を知りたいです。


6
リスト内包表記の例外を処理する方法は?
私はいくつかのリストの理解をPythonで持っていますが、各反復で例外がスローされる可能性があります。 たとえば、私が持っている場合: eggs = (1,3,0,3,2) [1/egg for egg in eggs] ZeroDivisionError3番目の要素で例外が発生します。 この例外を処理してリスト内包表記の実行を継続するにはどうすればよいですか? 私が考えることができる唯一の方法はヘルパー関数を使用することです: def spam(egg): try: return 1/egg except ZeroDivisionError: # handle division by zero error # leave empty for now pass しかし、これは私には少し厄介に見えます。 Pythonでこれを行うより良い方法はありますか? 注: これは私が考案した単純な例(上記の「例」を参照)です。私の実際の例にはいくつかのコンテキストが必要なためです。エラーゼロによる除算を回避するのではなく、リスト内包の例外を処理することに興味があります。

19
Azureテーブルストレージが400 Bad Requestを返す
これをデバッグモードで実行し、例外の詳細を含むイメージを添付します。どのようにして問題が発生したかを知ることができますか?テーブルにデータを挿入しようとしました。詳細を教えてくれませんか? Obs:ストレージは私のマシンではなくWindows Azureにあります。テーブルは作成されましたが、データを挿入するとこのエラーが発生します // Retrieve the storage account from the connection string. Microsoft.WindowsAzure.Storage.CloudStorageAccount storageAccount = Microsoft.WindowsAzure.Storage.CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=***;AccountKey=***"); // Create the table client. CloudTableClient tableClient = storageAccount.CreateCloudTableClient(); // Create the table if it doesn't exist. CloudTable table = tableClient.GetTableReference("EmployeeOnlineHistory"); table.CreateIfNotExists(); そしてここに挿入コードがあります: public static void SetStatus(Employee e, bool value) { try { // …

19
NullチェックチェーンとNullPointerExceptionのキャッチ
Webサービスが巨大なXMLを返すので、それの深くネストされたフィールドにアクセスする必要があります。例えば: return wsObject.getFoo().getBar().getBaz().getInt() 問題はそれです getFoo()、getBar()、getBaz()すべて返すことがありnull。 しかし、私がチェックした場合 nullすべてのケースでと、コードが非常に冗長になり、読みにくくなります。また、一部のフィールドのチェックが抜ける場合があります。 if (wsObject.getFoo() == null) return -1; if (wsObject.getFoo().getBar() == null) return -1; // maybe also do something with wsObject.getFoo().getBar() if (wsObject.getFoo().getBar().getBaz() == null) return -1; return wsObject.getFoo().getBar().getBaz().getInt(); 書いてもいいですか try { return wsObject.getFoo().getBar().getBaz().getInt(); } catch (NullPointerException ignored) { return -1; } それともアンチパターンと見なされますか?

15
JavaまたはC#での例外管理のベストプラクティス[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する アプリケーションで例外を処理する方法を決定するのに行き詰まっています。 例外に関する私の問題が1)リモートサービスを介したデータへのアクセス、または2)JSONオブジェクトの逆シリアル化に起因する場合の多くは、残念ながら、私はこれらのタスク(ネットワーク接続の切断、制御不能な不正なJSONオブジェクト)の成功を保証できません。 その結果、例外が発生した場合は、関数内で例外をキャッチし、呼び出し元にFALSEを返します。私の論理では、呼び出し元が本当に気にするのは、タスクが成功したかどうかではなく、タスクが成功しなかった理由だけです。 典型的なメソッドのサンプルコード(JAVA形式)を以下に示します) public boolean doSomething(Object p_somthingToDoOn) { boolean result = false; try{ // if dirty object then clean doactualStuffOnObject(p_jsonObject); //assume success (no exception thrown) result = true; } catch(Exception Ex) { //don't care about exceptions Ex.printStackTrace(); } return result; } このアプローチは問題ないと思いますが、例外を管理するためのベストプラクティスを知りたいと思います(本当にコールスタックまで例外をバブルする必要がありますか?)。 重要な質問の要約: 例外をキャッチするだけで問題はありませんが、それらをバブルアップしたり、システムに正式に通知したりしないでください(ログまたはユーザーへの通知を介して)? すべてがtry …

10
try / catchと例外のスロー
これらのコード文は同等ですか?それらの間に違いはありますか? private void calculateArea() throws Exception { ....do something } private void calculateArea() { try { ....do something } catch (Exception e) { showException(e); } }
117 java  exception 

4
元の例外の再スローに関するC ++例外の質問
キャッチ内の次のappend()によって、再スローされた例外が原因で、append()が呼び出された結果を確認できますか? try { mayThrowMyErr(); } catch (myErr &err) { err.append("Add to my message here"); throw; // Does the rethrow exception reflect the call to append()? } 同様に、この方法で書き換えた場合、実際の例外がmyErrによって派生した場合、ビットスライスは発生しますか? try { mayThrowObjectDerivedFromMyErr(); } catch (myErr &err) { err.append("Add to my message's base class here"); throw err; // Do I lose the derived …
117 c++  exception  rethrow 

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