• 締切済み

【VB2005】windowsアプリ初心者の素朴な質問

23歳男性です。 visual studio 2005を使用して開発を行っております。 今まではコンソールアプリを開発してました。今後はwindowsアプリもやることになると思います。そこで前準備としてwindowsアプリについて色々と質問します。 【質問】コンソールアプリでは、例外処理は最上位で行っていました。windowsアプリでも同様のことができると考えていました。しかし、windowsアプリのほうには「main」がないように思います。 これはイベント毎にtry~catch文を記述するしかないのでしょうか?これだと極めてメンテナンスしにくくなっちゃうのですが・・・・・・ --console----------------------------------------------------- Module Module1 Sub Main() Try Process() Catch ex As Exception Console.WriteLine(ex.Message) End Try End Sub Sub process() (処理) End Sub End Module --windows----------------------------------------------------- Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click (try~catch文) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click (try~catch文) End Sub   ・・・・・・・・(イベントが増える毎にtry~catch文記述?) End Class

みんなの回答

  • cradoll
  • ベストアンサー率50% (7/14)
回答No.2

メニューより「プロジェクト」の「プロパティ」を開きます 画面左タブより「アプリケーション」を選択し「アプリケーションフレームワークを有効にする」にチェックを入れ 「アプリケーションイベントの表示」ボタンをクリックしてください。 ApplicationEvents.vbというファイルがプロジェクトに自動的に追加され開かれたと思います。 ソースコード画面上の2つのコンボボックスの左側より「(MyApplicationイベント)」を選択し右コンボボックスより「UnhandledException」を選択してください。 このイベントの中身は個別にキャッチできなかったエラーがすべてここでキャッチされる最上位のものになります

すると、全ての回答が全文表示されます。
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

イベントハンドラの作り方次第なのでは? たとえばボタンのクリックイベントを1つのハンドラですべて受けてしまうことも可能です 引数のSenderにてどのボタンかの判定も出来ます ここに統一的なTry/Catchを書けばお望みの構成に多少は近づくでしょう ですが 引数の型の違うハンドラを1つにまとめるのは無理があるとおもいます すべてのハンドラにTry/Catchが必要なわけでも無いと思いますが ...

すると、全ての回答が全文表示されます。

専門家に質問してみよう