• 締切
  • 困ってます

「タイプ初期化子が例外をスローしました」エラー何?

  • 質問No.6790396
  • 閲覧数90126
  • ありがとう数8
  • 回答数1
ネット検索で調べましたが、どうしてもわからないので、質問いたします。

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

回答 (全1件)

  • 回答No.1

ベストアンサー率 74% (465/626)

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

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

この時,InnerExceptionプロパティに発生した例外が含まれます。
ref) http://msdn.microsoft.com/ja-jp/library/system.typeinitializationexception.aspx
このため,TypeInitializationExceptionではなく,InnerExceptionプロパティの情報から,
例外が発生した原因を突き止める必要があります。
# 例外オブジェクトの型とかスタックトレースとかは重要な情報。
お礼コメント
noname#134268
大変ありがとうございました。
お蔭様で解決に至りました。
投稿日時:2011/06/08 08:41
関連するQ&A
ページ先頭へ