teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

思いついている案を追記

2016/04/27 13:14

投稿

msssk
msssk

スコア12

title CHANGED
File without changes
body CHANGED
@@ -15,9 +15,10 @@
15
15
  (フラグの初期化漏れとかもあるので)
16
16
  また、全てのメソッドにtrycatchを実装することも避けたいのです。
17
17
 
18
+ ★画面
18
19
  Sub button1_Click() Handles Button1.Click
19
20
  Try
20
- データ取得処理()
21
+ 共通クラス.データ取得処理()
21
22
  Dim ii AS Integer = (1/0) '←★MSG出力・ログ出力!
22
23
  Catch(ex As DivideByZeroException)
23
24
  MSG("0割りエラー")
@@ -27,13 +28,13 @@
27
28
  End Try
28
29
  End Sub
29
30
 
31
+ ★共通クラス
30
32
  'trycatchを実装しない(想定していない)メソッド
31
33
  Sub データ取得()
32
34
  ~DB接続ロジック~ '←★ログ出力しかされない
33
35
 
34
36
  マスタ取得処理()
35
37
  End Sub
36
-
37
38
  Sub マスタ取得処理()
38
39
  Try
39
40
  ~SQL実行ロジック~ '←★MSG出力・ログ出力!
@@ -43,6 +44,12 @@
43
44
  End Try
44
45
  End Sub
45
46
 
47
+ 案としては、
48
+ 『イベント開始時にpublicなエラー情報保持クラスを生成して、各メソッドで例外エラーが設定された場合に、
49
+ イベントハンドラー側でログ出力・ダイアログ表示させる』、が思いついたのですが、
50
+ そもそも生成した保持クラスに万人がアクセスできる為にはどこで実装すればいいのか。。(インスタンスを引数として引き回すしかないのか?)
51
+
52
+
46
53
  オブジェクト指向などを考慮して実装すると上記問題は解決したりするのでしょうか。
47
54
  オブジェクト指向でなくても構わないのでテクニック等あればご教授ください。
48
55