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

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

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

Re[1]: C# 例外処理について


(過去ログ 167 を表示中)

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

■96583 / inTopicNo.1)  C# 例外処理について
  
□投稿者/ から好し (21回)-(2020/12/23(Wed) 09:15:32)
から好し さんの Web サイト

分類:[.NET 全般] 

開発環境 VisualStudio 2019
使用している言語 C# Windowsフォーム


教えて頂きたいこと

ユーザーがある指定した数値を入力した時、0以外なら処理を行い0なら例外として処理をする。

なお、if文ではなく例外処理として行いたいです。

try{

入力を受ける
  }
catch{

0だった時の処理
    MessageBox.Show("")
   }
0以外の値が入力された場合の処理



tryで、入力を受けると普通にした場合
0でデバッグしたら、普通にエラーになったしまいました。

どうしたら良いかご存知でしたら、教えてください。






引用返信 編集キー/
■96584 / inTopicNo.2)  Re[1]: C# 例外処理について
□投稿者/ WebSurfer (2172回)-(2020/12/23(Wed) 09:31:09)
No96583 (から好し さん) に返信

> なお、if文ではなく例外処理として行いたいです。

その理由を教えてください。ユーザー入力の検証なら、ゼロか否かなどの簡単な
ことはもちろん、かなり複雑な制限でも正規表現などを使えば可能で、わざわざ
例外を発生させることは普通はしないはずですけど・・・
引用返信 編集キー/
■96585 / inTopicNo.3)  Re[1]: C# 例外処理について
□投稿者/ kiku (212回)-(2020/12/23(Wed) 09:34:09)
No96583 (から好し さん) に返信
> 開発環境 VisualStudio 2019
> 使用している言語 C# Windowsフォーム
> 教えて頂きたいこと
> ユーザーがある指定した数値を入力した時、0以外なら処理を行い0なら例外として処理をする。

意図がまったく理解できませんでしたが、
こういうことをやりたいということでしょうか?

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                var input = 10;
                if(input == 0)
                {
                    throw new ApplicationException("入力が0であった");
                }
                //入力が0以外だった場合の処理
            }
            catch(ApplicationException ex)
            {
                //入力が0であった場合の処理
            }
        }

引用返信 編集キー/
■96586 / inTopicNo.4)  Re[1]: C# 例外処理について
□投稿者/ 774RR (852回)-(2020/12/23(Wed) 09:50:25)
そもそも例外は
発生させる人 (throw する部分のプログラマ : 例えば Microsoft のライブラリ) と、
受け取る人 (catch する部分のプログラマ : オイラたち末端プログラマ) が
違う人物である場合に有効なのであって(半年後の自分も含む)

同一人が書く完結した1つの処理の中で例外使うのはほぼ無意味だと思うっス。
(処理が重いだけで利点なし)

で、コンパイルすら通らない擬似コードを示されてもここが悪いって指摘は無理。
たいていこういうのは単純な記述ミスだったり誤解だったりするので。

引用返信 編集キー/
■96588 / inTopicNo.5)  Re[2]: C# 例外処理について
□投稿者/ から好し (22回)-(2020/12/23(Wed) 10:18:21)
から好し さんの Web サイト
No96586 (774RR さん) に返信
> そもそも例外は
> 発生させる人 (throw する部分のプログラマ : 例えば Microsoft のライブラリ) と、
> 受け取る人 (catch する部分のプログラマ : オイラたち末端プログラマ) が
> 違う人物である場合に有効なのであって(半年後の自分も含む)
>
> 同一人が書く完結した1つの処理の中で例外使うのはほぼ無意味だと思うっス。
> (処理が重いだけで利点なし)
>
> で、コンパイルすら通らない擬似コードを示されてもここが悪いって指摘は無理。
> たいていこういうのは単純な記述ミスだったり誤解だったりするので。
>
解決済み
引用返信 編集キー/
■96589 / inTopicNo.6)  Re[1]: C# 例外処理について
□投稿者/ WebSurfer (2173回)-(2020/12/23(Wed) 10:20:50)
No96583 (から好し さん) に返信

XY 問題だと思いますけど。Y だけでなく X も書いてもらえるとより
的確な回答が得られるかも。

XY 問題が何か不明ならググってみてください。
引用返信 編集キー/
■96591 / inTopicNo.7)  Re[1]: C# 例外処理について
□投稿者/ furu (101回)-(2020/12/23(Wed) 12:10:12)
No96583 (から好し さん) に返信
> ユーザーがある指定した数値を入力した時、0以外なら処理を行い0なら例外として処理をする。

var 入力値 = 入力を受ける();

try
{
    if (入力値 == 0) throw null;
}
catch
{
    //0だった時の処理
    MessageBox.Show("");
    return;
}

//0以外の値が入力された場合の処理
… 

引用返信 編集キー/


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

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -