アプリ版:「スタンプのみでお礼する」機能のリリースについて

ネット検索で調べましたが、どうしてもわからないので、質問いたします。

VB2010ですが、デバッグで起動すると「タイプ初期化子が例外をスローしました」というエラーが出てしまい、プログラムが起動しません。

ご教授のほどよろしくお願いいたします。

1.スタートアップフォーム
   ○frmMENU
   ○LOADするときに標準モジュールを呼び出します。
    その呼び出し文でエラーになります。
Private Sub frmMENU_Load(ByVal eventSender As System.Object, ByVal eventArgs As  System.EventArgs) Handles MyBase.Load
gINIT()  ← ここでエラーになります
Me.Text = gSysName
Show()

End Sub

2.標準モジュール
Public Sub gINIT()

gSysName = "システム"
DS = "Provider=""Microsoft.Jet.OLEDB.4.0"";"
DS &= "Data Source="""
gMDB = "C:\MDB\ABC.MDB"""

End Sub

A 回答 (1件)

クラスのSharedなフィールドの初期化に例外が発生した場合や,


クラスのSharedなコンストラクタの実行時に例外が発生した場合に,
System.TypeInitalizationExceptionはCLIによって投げられます。

ちなみに,.NET Framework的にはVBのModuleは単に全メンバがSharedなクラスなので,
Moduleにフィールドを持たせて初期化に失敗すると,TypeInitializationExceptionが発生します。

この時,InnerExceptionプロパティに発生した例外が含まれます。
ref) http://msdn.microsoft.com/ja-jp/library/system.t …
このため,TypeInitializationExceptionではなく,InnerExceptionプロパティの情報から,
例外が発生した原因を突き止める必要があります。
# 例外オブジェクトの型とかスタックトレースとかは重要な情報。
    • good
    • 10
この回答へのお礼

大変ありがとうございました。
お蔭様で解決に至りました。

お礼日時:2011/06/08 08:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A