主窗口在执行 Load 事件的时候执行下面的代码,在那两行代码前面是各种初始化,后面是其他准备工作。
第一次执行 create database 的时候,后续代码可以执行,第二次执行的时候本人知道 create database 肯定失败,原因是之前创建过了。但问题是执行失败的代码既不返货错误代码也不抛出异常,而是直接让后面的代码不执行。这可怎么样是好?
第一次执行 create database 的时候,后续代码可以执行,第二次执行的时候本人知道 create database 肯定失败,原因是之前创建过了。但问题是执行失败的代码既不返货错误代码也不抛出异常,而是直接让后面的代码不执行。这可怎么样是好?
//前面有初始化代码。 GlobleVariable.command = new MySqlCommand("create database diancai; use diancai",GlobleVariable.mycon); GlobleVariable.command.ExecuteNonQuery(); //后面有后续代码。
解决方案
5
不结束莫非继续运行。你说的不报错或不抛出异常,也许你的程序在某个级别已经处理了异常。
5
异常是发生在函数域的。
函数内部发生异常:
1.假如有try-catch处理,则跳到catch处理完毕,再继续执行catch后面的语句块。
2.假如没有异常处理,则往上抛。假如调用方也没有异常处理,则继续往函数栈上抛,知道最外层函数,假如应用程序级别也没有处理,则由操作系统捕获到程序发生错误,结束程序。
函数内部发生异常:
1.假如有try-catch处理,则跳到catch处理完毕,再继续执行catch后面的语句块。
2.假如没有异常处理,则往上抛。假如调用方也没有异常处理,则继续往函数栈上抛,知道最外层函数,假如应用程序级别也没有处理,则由操作系统捕获到程序发生错误,结束程序。
5
不抛异常几乎不可能的。你是不是不在调试状态下测试的。调试运行时是能捕捉到异常的。要么就是异常被你本人的程序处理掉了。
5
异常抛出了,只是你的frame有地方拦截了全部异常而已