投稿者 魔界の仮面弁士  (社会人) 投稿日時 2020/10/9 17:02:07
1, 2, 3 …といった番号で処理したいのであれば、TextBox や PictureBox を
配列や List や Dictionary で管理することも検討した方が良いかもしれません。

今の実装だと、コントロールが増えた時のコードが冗長的ですし、
記述ミスの可能性も増えてしまいますので。

たとえば先のコードだと、変数 aa 内に TextBox1 がなく、
代わりに TextBox3 が 2 回あるようですが、大丈夫ですか?



それともう一つ。Try~Catch の範囲がいくら何でも広すぎるように思えます。
これでは例外が発生した場合に、どこに問題があったのか把握しづらくなってしまいます。

どの場所でどのような例外が起きる可能性があるのかを、事前に想定できていますか?

Try は処理全体を広く囲うように使うのではなく、できるだけ狭い範囲に対して、
局所的に適用することが望ましいです。(そして闇雲に使うようなものでもありません)

今のコードだと、引数の指定ミスなどによって引き起こされるエラーの類、
たとえば IndexOutOfRangeException や NullReferenceException や
DivideByZeroException などまでも握りつぶされてしまい、
バグの発生箇所を特定しにくくなります。

自身のバグによって引き起こされる例外については、Catch するのではなく、
そもそもそれらが発生しないよう、プログラムを見直すことが肝要です。

例外処理は、事前にチェックするのが難しい異常状態に対処するために使うようにしましょう。
(たとえばファイルの読み書きなど)