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

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

18
BadImageFormatExceptionのトラブルシューティング
Visual Studio 2010を使用し、完全な.NET Framework 4を対象とするC#で記述されたWindowsサービスがあります。デバッグビルドから実行すると、サービスは期待どおりに実行されます。ただし、Releaseビルドから実行すると、System.BadImageFormatExceptionが発生します(詳細は以下)。私はインターネットで解決策を探していましたが、これまでに見つけたすべてのものは解決策を見つけるのに役立ちませんでした。 この問題は、Windows 7 64ビット(dev)システムとWindows XP SP3 32ビット(ターゲット)システムの両方に存在します。 これが私がこれまでに試したことです: プラットフォームターゲットなどの検証済みビルド設定はすべて同じです(x86)。 / verboseオプションを指定してpeverifyを使用し、アセンブリバイナリが有効であることを確認しました。 ロードの問題を探すためにfuslogvwを使用します。 CheckAsmを使用して、不足しているファイルまたはアセンブリを探しました。 これらのチェックはすべて何も変更しませんでした。以下に、例外情報の全文を含めました。一部の名前は、会社のマスターの秘密を保護するために変更されています。 System.BadImageFormatExceptionが処理されませんでした メッセージ=ファイルまたはアセンブリ 'XxxDevices、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null'またはその依存関係の1つを読み込めませんでした。不正な形式のプログラムを読み込もうとしました。 Source = XxxDevicesService FileName = XxxDevices、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null FusionLog =から読み込まれるアセンブリマネージャー:C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ clr.dll …
107 c#  .net  exception 

11
無効なジェネリック型引数の最良の例外
私は現在、列挙型を処理するためのジェネリックメソッドを持つUnconstrainedMelodyのコードを書いています。 これで、「フラグ」列挙型でのみ使用することを目的とした一連のメソッドを持つ静的クラスができました。これを制約として追加することはできません...したがって、他の列挙型でも呼び出される可能性があります。その場合、例外をスローしたいのですが、どれをスローするかわかりません。 これを具体的にするために、私がこのようなものを持っている場合: // Returns a value with all bits set by any values public static T GetBitMask<T>() where T : struct, IEnumConstraint { if (!IsFlags<T>()) // This method doesn't throw { throw new ??? } // Normal work here } スローするのに最適な例外は何ですか?ArgumentException論理的に聞こえますが、これは通常の引数ではなく型引数であり、簡単に混乱する可能性があります。自分のTypeArgumentExceptionクラスを紹介する必要がありますか?使用しInvalidOperationExceptionますか?NotSupportedException?他に何か? 私はと思い、むしろそれが明確に行うには正しいことだがない限り、このために私自身の例外を作成していません。
106 c#  generics  exception 

4
ネストされたtry / exceptブロックで例外を再発生させる方法は?
例外を再発生させたい場合raiseは、それぞれのexceptブロックで引数なしで簡単に使用できます。しかし、ネストされた式のように try: something() except SomeError as e: try: plan_B() except AlsoFailsError: raise e # I'd like to raise the SomeError as if plan_B() # didn't raise the AlsoFailsError SomeErrorスタックトレースを壊さずにを再度レイズするにはどうすればよいですか?raiseこの場合、単独で、より最近のものをリレイズしAlsoFailsErrorます。または、この問題を回避するためにコードをリファクタリングするにはどうすればよいですか?

9
スレッド間で例外を伝播するにはどうすればよいですか?
単一のスレッドが呼び出す関数があります(これをメインスレッドと呼びます)。関数の本体内で、CPU集中型の作業を行うために複数のワーカースレッドを生成し、すべてのスレッドが完了するのを待ってから、メインスレッドで結果を返します。 その結果、呼び出し元は関数を単純に使用でき、内部的には複数のコアを使用します。 これまでのところすべて良い 私たちが抱えている問題は、例外を扱うことです。ワーカースレッドで例外を発生させてアプリケーションをクラッシュさせたくありません。メインスレッドでそれらをキャッチできるように、関数の呼び出し元が必要です。ワーカースレッドで例外をキャッチし、それらをメインスレッドに伝達して、そこから巻き戻しを続ける必要があります。 どうすればこれを行うことができますか? 私が考えることができる最高のものは: ワーカースレッドでさまざまな例外をキャッチします(std :: exceptionおよびいくつかの独自の例外)。 例外のタイプとメッセージを記録します。 メインスレッドに、ワーカースレッドに記録されたタイプの例外を再スローする、対応するswitchステートメントを用意します。 これには、例外タイプの制限されたセットのみをサポートするという明らかな欠点があり、新しい例外タイプが追加されるたびに変更が必要になります。


14
接続Java-MySql:公開鍵の取得は許可されていません
コネクタ8.0.11を使用してMySqlデータベースをJavaに接続しようとしています。すべて問題ないようですが、この例外があります。 スレッド「メイン」の例外java.sql.SQLNonTransientConnectionException:公開鍵の取得は許可されていません スタックトレース: Exception in thread "main" java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:108) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862) at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:444) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226) at com.mysql.cj.jdbc.MysqlDataSource.getConnection(MysqlDataSource.java:438) at com.mysql.cj.jdbc.MysqlDataSource.getConnection(MysqlDataSource.java:146) at com.mysql.cj.jdbc.MysqlDataSource.getConnection(MysqlDataSource.java:119) at ConnectionManager.getConnection(ConnectionManager.java:28) at Main.main(Main.java:8) コネクタマネージャ: public class ConnectionManager { public static final String serverTimeZone = "UTC"; …




4
Pythonで例外メッセージを正しく取得する方法
Pythonの標準ライブラリのコンポーネントから例外のメッセージを取得するための最良の方法は何ですか? 場合によっては、次のmessageようなフィールドから取得できることに気付きました。 try: pass except Exception as ex: print(ex.message) ただし、場合によっては(たとえば、ソケットエラーの場合)、次のようなことを行う必要があります。 try: pass except socket.error as ex: print(ex) これらの状況のほとんどをカバーする標準的な方法はありますか?

2
標準C ++ライブラリに含まれる例外クラス
標準C ++ライブラリに含まれている例外クラスとは何ですか?それらは何に使用する必要がありますか?私はいくつかの新しいC ++ 11例外があることを知っていますが、それらが何であるか、またはどこにあるのかわかりません。
102 c++  exception  c++11  stl 


3
タスクの待機は、タスクで待機することも、Exceptionプロパティにアクセスすることもできませんでした。その結果、観察されなかった例外は
これは何を意味し、どのように解決しますか? TPLタスクを使用しています。 エラー全体 タスクの待機は、タスクで待機することも、Exceptionプロパティにアクセスすることもできませんでした。その結果、監視されていない例外がファイナライザスレッドによって再スローされました。 System.Threading.Tasks.TaskExceptionHolder.Finalize()で mscorlib

3
C ++ 03 throw()指定子C ++ 11 noexceptの違い
実行時とコンパイル時にそれぞれチェックされることthrow()とnoexceptそれ以外に違いはありますか? このWikipedia C ++ 11の記事は、C ++ 03スロー指定子が非推奨であることを示唆しています。 なぜそうnoexceptなのか、コンパイル時にそれらすべてをカバーするのに十分な能力があるのですか? [注:この質問とこの記事を確認しましたが、サポート終了の明確な理由を判断できませんでした。]
100 c++  exception  c++11  throw  noexcept 

15
最終的にブロックで例外をスローします
finallyブロックでスローされる例外を処理するエレガントな方法はありますか? 例えば: try { // Use the resource. } catch( Exception ex ) { // Problem with the resource. } finally { try{ resource.close(); } catch( Exception ex ) { // Could not close the resource? } } ブロック内のtry/をどのように回避しますか?catchfinally

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