-1

この未処理の例外エラーが表示されています: スクリーン ショットを参照してください。

ここに画像の説明を入力

(デバッグモード)ではなくCtrl+を指定して実行した場合にのみ、このエラーが発生します。これが役立つかどうかわかりません。私のコンピューターは Windows 7-64 ビットで、32 ビット ビルドを実行しています。F5F5

このディスカッションによると: WinForms が未処理の例外を黙って無視するのを止めるにはどうすればよいですか? 、 Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException) を追加すると、Windows はエラーを無視します。

編集: frmPlant_Load イベント

public partial class frmPlant : Form
    {
        DatabaseConnection _DbConnection = new DatabaseConnection();
        string conString = ConfigurationManager.ConnectionStrings["RVESTConnString"].ConnectionString;
        SQLQueries _SQlQueries = new SQLQueries();
        DataSet ds;
        SQLiteDataAdapter da;
       static DataTable gdt;
        int gSelectedPlant;
        string gSelectedPlantName = "";
        bool ignoreSelChg = false;
        bool DataDirty = false;
    public frmPlant()
        {
            InitializeComponent();        
        }
        public frmPlant(int sSelectedPlant)
        {
            InitializeComponent();           
        }
        private void frmPlant_Load(object sender, EventArgs e)
        {

            ds = FillData();
            gdt = ds.Tables[0];
            bindingSource1.DataSource = gdt;
            dataGridView1.DataSource = bindingSource1;
            gSelectedPlant = StaticClass.GlobalValue;
            dataGridView1.AutoGenerateColumns = true;
            dataGridView1.Columns["PlantId"].Visible = false;
            dataGridView1.Columns["NSSS_Design"].Width = 70;          
        }
        private DataSet FillData()
        {
            ignoreSelChg = true;
            SQLiteConnection con = new SQLiteConnection(conString);
            DataSet dPlant;
            try
            {
                con.Open();
                SQLiteCommand cmd = new SQLiteCommand("select * from Plant", con);
                da = new SQLiteDataAdapter("select * from Plant", con);
                dPlant = new DataSet();
                da.Fill(dPlant, "plant"); 

            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                con.Close();
            }
            return dPlant;
        }

もう 1 つ懸念事項を追加する必要があります。ダイアログで「続行」と言うと、問題なく動作しますが、バックグラウンド プロセスが実行されたままになります。タスクマネージャーで手動で強制終了する必要があります

質問: Program.cs にこの行を追加するとします。修正が必要な本物のエラーであっても無視されますか?

その他のコード: このダイアログは、2 番目の画面の [初期設定] 画面でボタンをクリックすると表示されます。1 つ目はスプラッシュ スクリーンです。初期設定で Plant フォームが表示されます

初期設定画面のコードは次のとおりです。

     public partial class frmInitialSetUp : Form
    {
        public frmInitialSetUp()
        {
            InitializeComponent();
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            Program.fPlant = new frmPlant();
            Program.fPlant.Show();
            this.Hide();
        }

        private void frmInitialSetUp_Load(object sender, EventArgs e)
        {
            Program.LoadAllForms();   
        }
    }
}
Program.cs
      static public void LoadAllForms()
        {
            try
            {
                Program.fInitialSetUp = new frmInitialSetUp();
                Program.fPlant = new frmPlant();
                Program.frm*** = new frm***();
                Program.frm*** = new frm***();
                Program.frm*** = new frm***();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

ボタンをクリックすると、

4

1 に答える 1

1

frmload を try { } catch(unhandledexception ex) {} で囲み、デバッグ モードで実行しました。 今度はデバッガーがキャッチしました。これは、datagridview 列の小さな問題でした

于 2012-06-02T22:37:04.270 に答える