C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

エラー処理

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■95855 / inTopicNo.1)  エラー処理
  
□投稿者/ いろりん (4回)-(2020/10/05(Mon) 10:36:04)

分類:[C#] 

コマンド1を送り、エラーだった場合、処理を終了したいのですが
エラーのメッセージボックスを閉じた後にコマンド2を送ってしまいます。
エラーが出た時点で処理を終了するにはどうすればいいのでしょうか?

private async void button1_Click(object sender, EventArgs e)
{
コマンド1

コマンド2
}

private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string data = serialPort1.ReadLine();
Invoke(new Delegate_RcvTextBox(rcvtextBox), new Object[] { data });
}
private void rcvtextBox(string str)
{
if(条件)
{
OK時の処理
}
if(条件)//エラー時の処理
{
MessageBox.Show("エラー");
return;
}
}
引用返信 編集キー/
■95856 / inTopicNo.2)  Re[1]: エラー処理
□投稿者/ WebSurfer (2104回)-(2020/10/05(Mon) 10:51:06)
No95855 (いろりん さん) に返信

何を作っているか(Windows Forms? WPF? ASP.NET Web Forms? その他?)と
開発環境(OS, .NET Framework, Visual Studio のバージョンなど)ぐらいは
質問の一番最初の行に書くとかできませんか?
引用返信 編集キー/
■95861 / inTopicNo.3)  Re[2]: エラー処理
□投稿者/ 774RR (832回)-(2020/10/05(Mon) 12:59:48)
http://bbs.wankuma.com/index.cgi?mode=al2&namber=95823
の続き WinForms と仮定して
そりゃまあコマンド1を送るの後に無条件でコマンド2を送る、を書いてりゃそうなるっス
button1 ハンドラを抜けた時点でコマンド1も2も送信予約済みなので

どうするとよいかはどうしたいかの仕様っつか案件で違うし、
イベントハンドラの中で通信する構造のままだと難しくなるですよ?


引用返信 編集キー/
■95867 / inTopicNo.4)  Re[1]: エラー処理
□投稿者/ 大谷刑部 (107回)-(2020/10/05(Mon) 14:10:36)
No95855 (いろりん さん) に返信
> コマンド1を送り、エラーだった場合、処理を終了したいのですが
> エラーのメッセージボックスを閉じた後にコマンド2を送ってしまいます。
> エラーが出た時点で処理を終了するにはどうすればいいのでしょうか?
>
> private async void button1_Click(object sender, EventArgs e)
> {
> コマンド1
>
> コマンド2
> }

呼んでる先をvoidにせず、戻り値を返す宣言にして、結果で分岐すればいいだけなんでは?
引用返信 編集キー/
■95869 / inTopicNo.5)  Re[1]: エラー処理
□投稿者/ kiku (197回)-(2020/10/05(Mon) 17:19:12)
No95855 (いろりん さん) に返信
> コマンド1を送り、エラーだった場合、処理を終了したいのですが
> エラーのメッセージボックスを閉じた後にコマンド2を送ってしまいます。
> エラーが出た時点で処理を終了するにはどうすればいいのでしょうか?

あまり美しくないですが、
rcvtextBoxのOK時の処理のところに、
コマンド2の処理を記述すれば、
最低限の要件は満たせそうです。

引用返信 編集キー/
■95888 / inTopicNo.6)  Re[2]: エラー処理
□投稿者/ いろりん (5回)-(2020/10/07(Wed) 15:03:35)
No95869 (kiku さん) に返信
> ■No95855 (いろりん さん) に返信
>>コマンド1を送り、エラーだった場合、処理を終了したいのですが
>>エラーのメッセージボックスを閉じた後にコマンド2を送ってしまいます。
>>エラーが出た時点で処理を終了するにはどうすればいいのでしょうか?
>
> あまり美しくないですが、
> rcvtextBoxのOK時の処理のところに、
> コマンド2の処理を記述すれば、
> 最低限の要件は満たせそうです。
>
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ