<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
<rss version="0.91">
<channel>
<title>「エラー処理（例外処理）の基本」へのコメント</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=beginner%2Fexceptionhandling.html</link>
<description>「エラー処理（例外処理）の基本」に投稿されたコメントの一覧</description>
<language>ja</language>
<image>
<url>https://dobon.net/banner/dbs1.gif</url>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=beginner%2Fexceptionhandling.html</link>
<title>「エラー処理（例外処理）の基本」へのコメント</title>
<width>88</width>
<height>31</height>
</image>
<item>
<title>通常のコメント</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;id=beginner%2Fexceptionhandling.html#19</link>
<description><![CDATA[（いつもありがたく参考にさせていただいております）<br>C#で On Error Resume Next的なことができないかと思いました。<br>Catch内から Resume Nextするとか<br>処理1～10があって、それらはエラー起きても次々実行させたいなというとき、一つづつtryで囲むのは避けたいと（面倒とも言う）<br>そういうのはふさわしくないと思われる方もいるでしょうが]]></description>
</item>
<item>
<title>評価の理由</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#18</link>
<description><![CDATA[評価：良い<br>とても解り易かったです。]]></description>
</item>
<item>
<title>評価の理由</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#17</link>
<description><![CDATA[評価：良い<br>すごくわかりやすかったです]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#16</link>
<description><![CDATA[補足です。デバッグ中にエラー発生行を知りたいということでしたら以下で対応できます。<br><br>１．Visual Studio メニューのデバッグ、例外を選択。<br>２．Common Language Runtime Exceptions のスローされるときにチェックを入れ、OKを押下。<br><br>こうすると Try～Catchが書かれていてもエラー発生行で止まるようになります。そのままだとデバッグしづらくなるので、終わったら設定を元に戻してください。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#15</link>
<description><![CDATA[&gt; Catchしたとき、エラーの発生した行は取得できるのでしょうか？<br><br>exe と同一ディレクトリに pdb があれば ex.StackTrace でファイル名と行番号が取れます。行番号はエラーの発生した次の行を指します。<br><br>pdb はClickOnce等のインストーラーで既定で配布対象外になっていますが、設定を変更すれば配布できます。但し、pdb は機密情報(ソースの情報)を含み、サイズも大きいので配布するかどうかは慎重に検討してください。<br><br>エラー情報をログに記録する目的であれば ex.ToString がお勧めです。型、内容、スタックトレース、内部例外を全て文字列に変換してくれます。UnhandledException と組み合わせてデータベース等にログを記録するようにすれば、利用現場で起こっているエラーを容易に追跡・対処できるようになります。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#14</link>
<description><![CDATA[Catchしたとき、エラーの発生した行は取得できるのでしょうか？<br>できるならその方法が知りたいです。<br>VB6 のときは、Resumeでエラー発生行がわかりましたけど。]]></description>
</item>
<item>
<title>評価の理由</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#13</link>
<description><![CDATA[評価：良い<br>やったところ、OvewflowException、InvalidCastExceptionにも対応しているらしいです。]]></description>
</item>
<item>
<title>評価の理由</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#12</link>
<description><![CDATA[評価：良い<br>よーわかった。]]></description>
</item>
<item>
<title>評価の理由</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#11</link>
<description><![CDATA[評価：良い<br>大変参考になりました。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#10</link>
<description><![CDATA[投げかける(thrw)ですね。失礼しました。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#9</link>
<description><![CDATA[いつも大変お世話になっています。<br>説明文中「スロー（slow）」は「スルー（through）」ではないのでしょうか。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#8</link>
<description><![CDATA[&gt; 途中までは素晴らしいのだが、「できるだけ例外が発生しないようにする」以降のサンプルは頂けない。<br>&gt; 何行も Try ～ Catch で囲むと、後で変更があった場合に修正漏れの原因となる。<br><br>簡単に言うと、「File.Existsをtryブロックに入れるな」ということでしょうか?実は私もそう思っていました（以前はこの記事のコードもそうなっていました）。ところが、説明にも書きましたが、MSDNの<br><br>File.Exists メソッド (System.IO)<br>http://msdn.microsoft.com/ja-jp/library/system.io.file.exists(VS.80).aspx<br><br>には、「Exists メソッドとファイルに対して実行する操作を try...catch ブロック内にラップすることをお勧めします。」と明言されています。MSDNのこの記述を無視することはできませんので、File.Existsをtryブロック内に入れました。<br><br>ところが先ほど確認したところ、.NET Framework 4.0からこの記述がきれいに消えていました。どういうことなのかまだ分かりませんが、もし以前の記述が間違い（あるいは無意味）であったならば、私の記事も書き換えたいと思います。<br><br>&gt; 再スロー、キャッチしなかったものが呼び出し元に戻り、最終的には関連の「捕捉されなかった例外がスローされたことを知る」につながる事を説明して頂きたい。<br><br>この点、説明不足であれば補強します。ただしこの点も、以前は「捕捉されなかった例外がスローされたことを知る」の説明を本文に入れていたものを、あえてやめました。というのは、あまりに安易にこの方法を使われる方が多いと感じたからです。初心者の方には安易にこの方法を使ってほしくありませんので、あえて「関連」にだけ入れることにしました。<br><br>引き続きご意見がございましたら、よろしくお願いいたします。]]></description>
</item>
<item>
<title>通常のコメント</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#6</link>
<description><![CDATA[途中までは素晴らしいのだが、「できるだけ例外が発生しないようにする」以降のサンプルは頂けない。<br>何行も Try ～ Catch で囲むと、後で変更があった場合に修正漏れの原因となる。<br>また、VB6から移って来た人がこのサンプルを見たら、ON ERROR GOTO の代わりとして使って、すべての Function・Sub プロシージャが Try ～ Catch で溢れかえったあげく、どこかでトラップミスを発生させることになるだろう。（実際にorz）<br>再スロー、キャッチしなかったものが呼び出し元に戻り、最終的には関連の「捕捉されなかった例外がスローされたことを知る」につながる事を説明して頂きたい。]]></description>
</item>
<item>
<title>評価の理由</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#5</link>
<description><![CDATA[評価：良い<br>大変勉強になりました。]]></description>
</item>
<item>
<title>評価の理由</title>
<link>https://dobon.net/cgi-bin/pc/pc.php?mode=v&amp;amp;id=beginner%2Fexceptionhandling.html#4</link>
<description><![CDATA[評価：良い<br>詳しい説明、大変参考になりました。]]></description>
</item>
</channel>
</rss>