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

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


11
「致命的エラー:オプション値のアンラップ中に予期せずnilが見つかりました」とはどういう意味ですか?
SwiftプログラムがクラッシュしEXC_BAD_INSTRUCTION、次のようなエラーのいずれかが発生します。このエラーはどういう意味ですか、どうすれば修正できますか? 致命的なエラー:オプション値のアンラップ中に予期せずnilが見つかりました または 致命的エラー:オプション値を暗黙的にアンラップしているときに予期せずnilが見つかりました この投稿は、「予期せず発見されたnil」問題への回答を収集することを目的としています。そのため、それらは散らばり、見つけるのが難しくありません。独自の回答を追加するか、既存のWiki回答を編集してください。

26
ファイルまたはアセンブリを読み込めませんでした…不正な形式のプログラムを読み込もうとしました(System.BadImageFormatException)
2つのプロジェクトがProjectAありProjectBます。 ProjectBに依存するコンソールアプリケーションですProjectA。昨日、すべてが順調に機能していましたが、今日実行するProjectBと突然、次のようになります。 BadImageFormatExceptionが処理され ませんでした:ファイルまたはアセンブリ 'ProjectA、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null'またはその依存関係の1つを読み込めませんでした。不正な形式のプログラムを読み込もうとしました。 どちらも通常のプロジェクトであり、他の非.Netプロジェクトに依存していません。どちらも完全に.Netです。ネイティブコードやP / Invokeはありません。私は他のプロジェクトに依存していますがProjectA、それでもうまくいきます。 私が試したこと: ビルドチェックボックスをオンにして、両方のプロジェクトが「すべてのCPU」に設定されていることを確認します。彼らです。 両方のプロジェクトが同じターゲットフレームワーク(.Net 4.0クライアントプロファイル)用であることを確認してください。 ProjectBの下で- >参照は- > PROJECTAは- >プロパティは、確認して「ローカルコピーは」に設定されている「真」 _ (私はProjectA.dllが正しくコピーされていることを確認し) ソリューションをクリーン/再構築します。両方のプロジェクトで/ binと/ objフォルダーを手動で削除してみました。 Visual Studioを再起動します。コンピュータを再起動します。 リポジトリの完全に新しいコピーをチェックしてください。 しかし、それでも同じエラーが発生します。私はこれを引き起こすために何をしたのか、それをどのように修正するのか分かりません。何か案は?

2
Mockitoがvoidメソッドをテストすると例外がスローされる
void戻り値の型を持つメソッドがあります。また、いくつかの例外がスローされる可能性があるため、スローされている例外をテストしたいと思います。すべての試行が同じ理由で失敗しました: タイプStubberのメソッドwhen(T)は引数に適用できません(void) 特定の例外をスローするメソッドを取得する方法はありますか? doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));

30
Directory.Delete(path、true)ではディレクトリを削除できません
私は.NET 3.5を使用しており、次を使用してディレクトリを再帰的に削除しようとしています。 Directory.Delete(myPath, true); 私の理解では、ファイルが使用中の場合やアクセス権の問題がある場合にスローされますが、それ以外の場合は、ディレクトリとそのすべてのコンテンツが削除されます。 しかし、私は時々これを手に入れます: System.IO.IOException: The directory is not empty. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive) at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive) ... メソッドが時々スローすることには驚きませんが、再帰がtrueのときにこの特定のメッセージが表示されるのには驚きます。(知っているはディレクトリが空ではないています。) AccessViolationExceptionの代わりにこれが表示される理由はありますか?
383 c#  .net  exception  io 


5
Rでtrycatchを書く方法
trycatchウェブからのダウンロードのエラーに対処するためのコードを書きたいのですが。 url <- c( "http://stat.ethz.ch/R-manual/R-devel/library/base/html/connections.html", "http://en.wikipedia.org/wiki/Xz") y <- mapply(readLines, con=url) これらの2つのステートメントは正常に実行されます。以下に、存在しないWebアドレスを作成します。 url <- c("xxxxx", "http://en.wikipedia.org/wiki/Xz") url[1]存在しません。どのようにしてtrycatchループ(関数)を 作成するのですか? URLが間違っている場合、出力は「Web URLが間違っている、取得できません」となります。 URLが間違っている場合、コードは停止しませんが、URLリストの最後までダウンロードを続けますか?


16
なぜ「except:pass」が不適切なプログラミング手法なのですか?
の使用except: passが推奨されない方法に関する他のスタックオーバーフローの質問に対するコメントをよく見ます。なぜこれが悪いのですか?時々私はただエラーが何であるか気にしないで、コードを続けたいだけです。 try: something except: pass なぜexcept: passブロックの使用が悪いのですか?何が悪いのですか?それは私ということであるpassエラーオンまたはIそのexceptいずれかのエラー?

11
待機せずにC#で非同期メソッドを安全に呼び出す方法
私が持っているasyncデータを返さないメソッドを: public async Task MyAsyncMethod() { // do some stuff async, don't return any data } データを返す別のメソッドからこれを呼び出しています: public string GetStringData() { MyAsyncMethod(); // this generates a warning and swallows exceptions return "hello world"; } 待機MyAsyncMethod()せずに呼び出すと、Visual Studioで「この呼び出しは待機されないため、現在のメソッドは呼び出しが完了する前に引き続き実行されます」という警告が表示されます。その警告のページには、次のように記載されています。 非同期呼び出しの完了を待たず、呼び出されたメソッドが例外を発生させないことが確実な場合にのみ、警告を抑制することを検討する必要があります。 通話が完了するのを待ちたくないと思います。する必要も時間もありません。しかし、呼び出しがあります例外を発生させます。 私はこの問題に何度か遭遇しましたが、それは共通の解決策が必要な共通の問題であると確信しています。 結果を待たずに非同期メソッドを安全に呼び出すにはどうすればよいですか? 更新: 私が結果を待つことを示唆している人々のために、これは私たちのWebサービス(ASP.NET Web API)上のWebリクエストに応答しているコードです。UIコンテキストで待機すると、UIスレッドは解放されたままになりますが、Web要求の呼び出しで待機すると、要求に応答する前にタスクが完了するのを待機するため、理由もなく応答時間が長くなります。


13
java.lang.reflect.InvocationTargetExceptionの原因は何ですか?
まあ、私はそれを引き起こす可能性があるものを理解して読んでみましたが、それを得ることができません: 私のコードのどこかにこれがあります: try{ .. m.invoke(testObject); .. } catch(AssertionError e){ ... } catch(Exception e){ .. } それは、あるメソッドを呼び出そうとするInvocationTargetExceptionと、他の予期される例外(具体的にはArrayIndexOutOfBoundsException)の代わりにスロー されるということです。呼び出されるメソッドを実際に知っているので、このメソッドコードに直接進み、スローするはずの行にtry-catchブロックを追加しましたArrayIndexOutOfBoundsExceptionがArrayIndexOutOfBoundsException、期待どおりに実際にスロー されました。それでも上に行くと、どういうわけかInvocationTargetException、上記のコードに変更され、catch(Exception e) eは 予想どおりではInvocationTargetExceptionありませんArrayIndexOutOfBoundsException。 何がそのような動作を引き起こす可能性がありますか、またはどのようにしてそのようなことを確認できますか?

10
C#でスタックトレースを失わずにInnerExceptionを再スローする方法は?
リフレクションを介して、例外を引き起こす可能性のあるメソッドを呼び出しています。ラッパーリフレクションが例外を配置せずに例外を呼び出し元に渡すにはどうすればよいですか? InnerExceptionを再スローしていますが、これによりスタックトレースが破壊されます。 コード例: public void test1() { // Throw an exception for testing purposes throw new ArgumentException("test1"); } void test2() { try { MethodInfo mi = typeof(Program).GetMethod("test1"); mi.Invoke(this, null); } catch (TargetInvocationException tiex) { // Throw the new exception throw tiex.InnerException; } }
305 c#  .net  exception 



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