【问题标题】:Handling exception on missing reference处理缺少参考的异常
【发布时间】:2014-12-20 02:04:07
【问题描述】:

是否有可能在 VB.NET 中以某种方式处理引用未复制到正确目录时引发的异常。我无法找到将 System.IO.SQLite 的 DLL 文件包含到我的应用程序中的方法。

目前,如果用户仅复制/安装 exe 文件,由于缺少 DLL 文件,我会收到未捕获的异常错误。我想优雅地解释一下这个问题,然后终止程序,或者至少给他们一个选项来禁用它的 SQLite 部分。

【问题讨论】:

  • 好吧,你不必太担心优雅的终止。给出合理的诊断是每个程序员都应该注意的事情,为 AppDomain.CurrentDomain.UnhandledException 事件编写事件处理程序。唯一的规定是您必须避免在 Main() 方法中使用 Sqlite。因为这会在您注册事件处理程序之前轰炸您的程序。并在安装程序中投入一些精力,这样就不会出错。

标签: vb.net exception-handling filenotfoundexception


【解决方案1】:

如果您有任何Modules,则需要删除该 DLL 的所有私有/公共声明。然后,如果您有一个启动表单,请删除该 DLL 的所有私有/公共声明。

启动表单模块中的每个私有/公共声明都在您的第一行代码之前处理,因此您不能这样做。

完成上述操作后,您现在可以检查以确保您的目录中存在的 DLL 执行以下操作:

If Not IO.File.Exists("System.IO.SQLite.dll") then ...

【讨论】:

    猜你喜欢
    • 2021-06-29
    • 2020-01-05
    • 1970-01-01
    • 2016-10-27
    • 1970-01-01
    • 2011-08-21
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多