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

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

10
「throw」と「throw ex」に違いはありますか?
これらの2つの違いはすでに何であるかを尋ねるいくつかの投稿があります。(なぜ私はこれについても言及しなければならないのですか...) しかし、私の質問は、別のエラーの神のような処理方法で「throw ex」と呼んでいる点で異なります。 public class Program { public static void Main(string[] args) { try { // something } catch (Exception ex) { HandleException(ex); } } private static void HandleException(Exception ex) { if (ex is ThreadAbortException) { // ignore then, return; } if (ex is ArgumentOutOfRangeException) { // Log then, throw …

11
例外の説明と、例外を引き起こしたスタックトレースをすべて文字列として取得します。
Pythonのスタックトレースと例外に関する多くの投稿を見てきました。しかし、必要なものが見つかりませんでした。 例外が発生する可能性のあるPython 2.7コードのチャンクがあります。私はそれをキャッチして、エラーの原因となった完全な説明とスタックトレースを文字列に割り当てたいと思っています(単にコンソールで確認するために使用しているすべてのものです)。GUIのテキストボックスに印刷するには、この文字列が必要です。 このようなもの: try: method_that_can_raise_an_exception(params) except Exception as e: print_to_textbox(complete_exception_description(e)) 問題は次のとおりです:関数は何complete_exception_descriptionですか?


19
App.configから接続文字列を取得する
var connection = ConnectionFactory.GetConnection( ConfigurationManager.ConnectionStrings["Test"] .ConnectionString, DataBaseProvider); そして、これは私のApp.configです。 <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="Test" connectionString="Data Source=.;Initial Catalog=OmidPayamak;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration> しかし、私のプロジェクトを実行すると、これは私のエラーです: オブジェクト参照がオブジェクトインスタンスに設定されていません。

8
`throw new Error`と` throw someObject`の違いは何ですか?
コードのインスタンスでわざとスローされたカスタムエラーをキャッチする一般的なエラーハンドラーを作成したいと思います。 throw new Error('sample')次のコードで気に入ったとき try { throw new Error({'hehe':'haha'}); // throw new Error('hehe'); } catch(e) { alert(e); console.log(e); } ログがFirefoxに表示されError: [object Object]、オブジェクトを解析できませんでした。 2番目throwのログは次のように表示されます。Error: hehe 私がしたとき try { throw ({'hehe':'haha'}); } catch(e) { alert(e); console.log(e); } コンソールは次のように表示されました:Object { hehe="haha"}エラープロパティにアクセスできました。 違いはなんですか? コードに見られる違いはありますか?同様に文字列は文字列として渡され、オブジェクトはオブジェクトとして渡されますが、構文は異なりますか? エラーオブジェクトのスローについては調べていません...文字列のスローのみを実行していました。 上記の2つの方法以外に方法はありますか?

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いずれかのエラー?

7
JavaでのInterruptedExceptionの処理
次の処理方法の違いは何InterruptedExceptionですか?それを行う最良の方法は何ですか? try{ //... } catch(InterruptedException e) { Thread.currentThread().interrupt(); } または try{ //... } catch(InterruptedException e) { throw new RuntimeException(e); } 編集:これらの2つがどのシナリオで使用されているかも知りたいのですが。

13
(本当に)例外安全なコードを書いていますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 例外処理(EH)は現在の標準のようで、Webを検索しても、それを改善または置換しようとする新しいアイデアや方法は見つかりません(まあ、いくつかのバリエーションは存在しますが、新しいものはありません)。 ほとんどの人はそれを無視するか受け入れるだけのようですが、EHにはいくつかの大きな欠点があります。例外はコードからは見えず、非常に多くの可能な出口点を作成します。ソフトウェアのジョエルはそれについての記事を書いた。goto完璧に合うと比較すると、EHについてもう一度考えさせられました。 私はEHを避けて、戻り値、コールバック、または目的に合ったものを使用します。しかし、信頼性の高いコードを記述する必要がある場合、EHを無視することはできません。これは、new(昔のように)単に0を返すのではなく、例外をスローするで始まります。これにより、C ++コードのすべての行が例外に対して脆弱になります。そして、C ++基本コードのより多くの場所が例外をスローします... std libはそれを行います、など。 これは不安定な場所を歩いているような気がします。だから、今、私たちは例外に注意することを余儀なくされています! しかし、それは難しい、本当に難しい。あなたは例外安全なコードを書くことを学ぶ必要があり、それである程度の経験があっても、安全であるためにはコードの1行を再確認する必要があります!または、try / catchブロックをいたるところに配置し始め、コードが読みにくくなるまでコードが乱雑になります。 EHは、ごく少数の、しかし理解しやすく、簡単に解決できる欠点があった古いクリーンな確定的アプローチ(戻り値..)を、コードに多くの可能な出口点を作成するアプローチに置き換え、例外をキャッチするコード(ある時点で実行することを余儀なくされます)、その後、コードを介して多数のパスを作成します(catchブロックのコード、std :: cerr以外のロギング機能が必要なサーバープログラムについて考えてください。)。EHには利点がありますが、それが目的ではありません。 私の実際の質問: あなたは本当に例外安全なコードを書いていますか? あなたの最後の「プロダクションレディ」コードは例外的に安全ですか? あなたはそれがそうであると確信することさえできますか? 機能する代替案を知っているか、実際に使用していますか?

19
PHPでfile_get_contents()関数の警告を処理するにはどうすればよいですか?
私はこのようなPHPコードを書きました $site="http://www.google.com"; $content = file_get_content($site); echo $content; しかし、「http://」を削除すると$site、次の警告が表示されます。 警告:file_get_contents(www.google.com)[function.file-get-contents]:ストリームを開けませんでした: 私が試したtryし、catchそれはうまくいきませんでした。


4
Pythonの「with」ステートメントの使用中に例外をキャッチする
残念ながら、Pythonの「with」ステートメントの例外を処理する方法がわかりません。コードがある場合: with open("a.txt") as f: print f.readlines() somehingを実行するために、「ファイルが見つかりません」という例外を本当に処理したいと思っています。でも書けない with open("a.txt") as f: print f.readlines() except: print 'oops' 書けない with open("a.txt") as f: print f.readlines() else: print 'oops' 「with」をtry / exceptステートメントで囲むと、それ以外では機能しません。例外は発生しません。「with」ステートメント内の失敗をPythonicの方法で処理するにはどうすればよいですか?

11
.NET例外をキャッチして再スローするためのベストプラクティス
例外をキャッチして再スローするときに検討すべきベストプラクティスは何ですか?ExceptionオブジェクトInnerExceptionとスタックトレースが保持されることを確認したいと思います。次のコードブロックの処理方法に違いはありますか? try { //some code } catch (Exception ex) { throw ex; } 対: try { //some code } catch { throw; }

6
非同期voidメソッドによってスローされた例外をキャッチする
Microsoft for .NETの非同期CTPを使用して、呼び出しメソッドで非同期メソッドによってスローされた例外をキャッチすることは可能ですか? public async void Foo() { var x = await DoSomethingAsync(); /* Handle the result, but sometimes an exception might be thrown. For example, DoSomethingAsync gets data from the network and the data is invalid... a ProtocolException might be thrown. */ } public void DoFoo() { try { …


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