主要问题完全不同,请跳到修改
我有一个未知类型的例外,它甚至没有被正确抛出。以下代码提供了上下文:
MMDataAccess.InitDemoDB();
MMDataAccess.InitInternalDB();
MMDataAccess.InitMaintDB();
try
{
SQLiteToDBLib sqltdbl = new SQLiteToDBLib();
sqltdbl.WriteToSQLite();
}
catch(Exception ex)
{
string message = ex.Message;
}
这是我应用中第一个Activity的第一行。前3行属于我自己的内存数据库实现,行为很好。问题块中的下两行会出现问题。 sqltdbl变量的声明和初始化永远不会发生。 SQLiteToDBLib的构造函数如下所示:
public SQLiteToDBLib()
{
msc = new MSConnection();
}
MSConnection类甚至没有构造函数(当然默认的除外)。
正如你所看到的,我试图抓住任何例外,但没有成功。我能弄清楚的是,由于调试器进入catch部分而忽略了与“ex”有关的所有事情,所以抛出异常。没有断点,一切似乎都很好。只是没有调用WriteToSQLite,它应该在外部存储器上创建一个.sqlite文件。
我该怎么做才能解决此错误?除了默认的Exception之外,还有什么可以捕获的吗?
修改
在使用注释代码进行一些测试之后发生了一些间歇性事件。我可以进入评论代码。不完全是注释代码,而是我更改之前的代码。 Visual Studio以某种方式向我展示了文件中已更改的内容,但正在编译旧代码。到目前为止,我尝试以各种组合重建,清理和构建项目,卸载并重新加载项目,重新启动Visual Studio并重新启动Windows。到目前为止没有任何改变。我现在将继续使用完全相同的代码创建一个新的.cs文件。我正在与VS 2013社区合作
答案 0 :(得分:0)
将静态构造函数添加到SQLiteToDBLib类并在其中执行所有静态对象初始化:
static SQLiteToDBLib()
{
// initialize static members here
}
如果这不能为您提供线索,请尝试在visual-studio中启用CLRE例外中断:
重新启动您的应用并重试