C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.68739 の関連記事表示

<< 0 >>
■68739  ハンドルされていないバグ
□投稿者/ 白鴉 -(2013/11/11(Mon) 09:51:52)

    分類:[VB.NET/VB2005 以降] 

    デバッグ時に起きた問題です。

    ソースコードを書き終え、ビルドがつつがなく完了した後、デバッグを行いました。
    その時出てきたエラーが、「FormatExceptionはハンドルされませんでした」というものです。

    調べたところメソッドの引数の型が正しくない時に出るエラーのようですが、問題はこのエラーが出た場所。
    program.csのこの文のところなのです。
    Application.Run(new Form1());

    ここで使用されている変数はFrom1のみなので、あまり無いことだとは思いますがForm1がForm型に対応していないと判断し、
    Form A=new Form1();
    と定義、
    Application.Run(new A());
    と書き換えましたが、同じエラーが発生しました。

    この場所は今までエラーが出たことが無かったのでちょっと手が出せません。
    よろしくお願いします。


    なお開発環境はwindowsXP SP3、使用したエディタはvisual basic 2010 c#です。
親記事 /過去ログ117より / 関連記事表示
削除チェック/

■68741  Re[1]: ハンドルされていないバグ
□投稿者/ 魔界の仮面弁士 -(2013/11/11(Mon) 10:00:23)
    2013/11/11(Mon) 10:14:04 編集(投稿者)

    No68739 (白鴉 さん) に返信
    > その時出てきたエラーが、「FormatExceptionはハンドルされませんでした」というものです。
    String.Format の引数リストの数が間違っている場合や、
    Double.Parse で変換不能な文字列が渡された場合などに、
    そのようなエラーが発生しますね。

    データバインドや Parse メソッドなど、何らかの書式設定を
    行っている場所はありませんか? 書式もしくはデータ内容に
    不整合があると、デザイン時には問題なくとも、実際のデータが
    渡されたタイミングでエラーとなる可能性があります。

    > Application.Run(new Form1());
    エラーそのものは、Form1 のコンストラクタ内で
    発生したものと推察します。
    エラー箇所が特定し難いということは、コントロール側が、
    リフレクションやデータバインド絡みの問題が起きているのかも。


    > ここで使用されている変数はFrom1のみなので、
    > あまり無いことだとは思いますがForm1がForm型に対応していないと
    それは根拠に乏しいのではないかな…。
    少なくとも変数名に左右されるような物では無いと思いますよ。

    変数名が A だろうと Form1 だろうと From1 だろうと、
    Run メソッド側をそれを検知できませんし。
    変数名ではなく、インスタンスの内容を疑うべきかと。


    例外メッセージの中に、発生場所(メソッド名)を並べた
    スタックトレースはありませんでしたけ? それを見れば、
    具体的にどの箇所で問題が生じているのかを追跡できるかと思います。
記事No.68739 のレス /過去ログ117より / 関連記事表示
削除チェック/

■68742  Re[2]: ハンドルされていないバグ
□投稿者/ 白鴉 -(2013/11/11(Mon) 11:37:28)
    2013/11/11(Mon) 14:06:57 編集(投稿者)

    No68741 (魔界の仮面弁士 さん) に返信
    お早い返信ありがとうございます。
    コンストラクタとバインド関連のコードを中心にチェック中ですが少し進展があったので・・・

    > 例外メッセージの中に、発生場所(メソッド名)を並べた
    > スタックトレースはありませんでしたけ? それを見れば、
    > 具体的にどの箇所で問題が生じているのかを追跡できるかと思います。

    発見しましたのでコピペしてみました。

    場所 System.Windows.Forms.Binding.FormatObject(Object value)
    場所 System.Windows.Forms.Binding.PushData(Boolean force)
    場所 System.Windows.Forms.Binding.UpdateIsBinding()
    場所 System.Windows.Forms.Binding.CheckBinding()
    場所 System.Windows.Forms.Binding.SetListManager(BindingManagerBase bindingManagerBase)
    場所 System.Windows.Forms.ListManagerBindingsCollection.AddCore(Binding dataBinding)
    場所 System.Windows.Forms.BindingsCollection.Add(Binding binding)
    場所 System.Windows.Forms.BindingContext.UpdateBinding(BindingContext newBindingContext, Binding binding)
    場所 System.Windows.Forms.Control.UpdateBindings()
    場所 System.Windows.Forms.Control.OnBindingContextChanged(EventArgs e)
    場所 System.Windows.Forms.Control.OnParentBindingContextChanged(EventArgs e)
    場所 System.Windows.Forms.Control.OnBindingContextChanged(EventArgs e)
    場所 System.Windows.Forms.ContainerControl.OnCreateControl()
    場所 System.Windows.Forms.Form.OnCreateControl()
    場所 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
    場所 System.Windows.Forms.Control.CreateControl()
    場所 System.Windows.Forms.Control.WmShowWindow(Message& m)
    場所 System.Windows.Forms.Control.WndProc(Message& m)
    場所 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
    場所 System.Windows.Forms.Form.WmShowWindow(Message& m)
    場所 System.Windows.Forms.Form.WndProc(Message& m)
    場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    場所 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    場所 System.Windows.Forms.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
    場所 System.Windows.Forms.Control.SetVisibleCore(Boolean value)
    場所 System.Windows.Forms.Form.SetVisibleCore(Boolean value)
    場所 System.Windows.Forms.Control.set_Visible(Boolean value)
    場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
    場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
    場所 System.Windows.Forms.Application.Run(Form mainForm)
    場所 WindowsFormsApplication1.Program.Main() 場所 C:\Documents and Settings
    [[中略]]
    Program.cs:行 16
    場所 System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
    場所 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
    場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
    場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
    場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    場所 System.Threading.ThreadHelper.ThreadStart()

    コーディングしたメソッドが見当たらないので、ちょっと読めませんでした。
    引き続きお願いいたします。
記事No.68739 のレス /過去ログ117より / 関連記事表示
削除チェック/

■68743  Re[3]: ハンドルされていないバグ
□投稿者/ のぶ -(2013/11/11(Mon) 11:54:09)
    #回答ではありません。
    スタックトレース内に個人名らしきものが載っていますが問題ありませんでしょうか?
    一応、消しておいた方が良いかと思われます。
記事No.68739 のレス /過去ログ117より / 関連記事表示
削除チェック/

■68748  Re[4]: ハンドルされていないバグ
□投稿者/ 白鴉 -(2013/11/11(Mon) 14:10:47)
    2013/11/11(Mon) 14:11:02 編集(投稿者)

    No68743 (のぶ さん) に返信
    > #回答ではありません。
    > スタックトレース内に個人名らしきものが載っていますが問題ありませんでしょうか?
    > 一応、消しておいた方が良いかと思われます。
    ありがとうございました。消しておきます。


    自己解決しました。
    具体的に何があったかというとコンストラクタ定義のところで
    CommonBindings→CommonBindinds
    Export    →Exeport
    などの誤字がありました。初期設定されている関数とコンフリクトしたようです。しょうもな・・・


    ありがとうございました。
記事No.68739 のレス / END /過去ログ117より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -