- PR -

例外が発生しない(C# Winフォーム)

1
投稿者投稿内容
キラ
大ベテラン
会議室デビュー日: 2005/12/10
投稿数: 104
投稿日時: 2006-01-06 11:28
お世話になります。

プログラムでCSVファイルを作成しています。
そのファイルを開いた状態でプログラムでCSVファイルを作成しようとすると、緑色ラインのエラーが発生します。(このファイルは別のプロセスが使用中です)
そこでtry、catchを使って例外をキャッチしようと考えたのですがうまく拾えません。
なぜなのかよくわかりません。どなたかご教授ください。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-01-06 11:48
こんにちは。

緑色のラインとは?
try,catch をしている箇所のソースを見せてもらえますか?
_________________
囚人のジレンマな日々
キラ
大ベテラン
会議室デビュー日: 2005/12/10
投稿数: 104
投稿日時: 2006-01-06 11:55
お世話になります。

下記のようになります。

try
{
System.IO.StreamWriter writer = new System.IO.StreamWriter(V_sPath, false, System.Text.Encoding.Default);

}
catch(Exception e)
{
MessageBox.Show(e.Message.ToString());
}
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2006-01-06 12:46
諸農です。

例えば、ファイルを掴んでいないとか?
それとも、前回の実行でファイルクローズせずに掴んだままだったのが、
今回の実行時までに解放されていたので再現しないとか。

以下のコードで対象ファイルをExcelで開いたままで確認しました。
IOExceptionはキャッチできました。

コード:
    try
    {
        using (System.IO.StreamWriter sw = new System.IO.StreamWriter(fPath,false,System.Text.Encoding.Default))
        {
            sw.WriteLine("123,123,456");
            sw.Flush();
        }
    }
    catch(System.IO.IOException ex)
    {
        MessageBox.Show(ex.Message,"IOException");
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message,"Exception");
    }





_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-06 13:09
引用:

トトロさんの書き込み (2006-01-06 11:28) より:

そこでtry、catchを使って例外をキャッチしようと考えたのですがうまく拾えません。


単に初回例外で止まっているだけなのではないでしょうか?
そのまま、ステップ実行すれば Catch のハンドラに入るのでは?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
キラ
大ベテラン
会議室デビュー日: 2005/12/10
投稿数: 104
投稿日時: 2006-01-06 14:06
お世話になります。

tryの直前でファイル削除を実行していました。
その部分で落ちていました。
初歩的なミスで大変申し訳ありませんでした。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-06 16:26
引用:

トトロさんの書き込み (2006-01-06 14:06) より:

tryの直前でファイル削除を実行していました。
その部分で落ちていました。


なるほど、確かに緑色の背景色で停止した場合は、
その直前のステートメントが原因となっていることはあります。

原因を究明するためにも、ブレークポイントなどデバッガをうまく活用してください。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)