关于“类型初始值设定项引发异常”

     今天在调试程序时发现了一个异常 :“类型初始值设定项引发异常”  , 第一次发现。关于TypeInitializationException异常,MSDN的解析:由类初始值设定项引发的异常周围的包装引发的异常。

     程序里面的异常点是获取单一实例对象是报的异常,百思不得其解。再仔细查一下发现单一实例对象为null,实例化失败了。而这个类的构造函数里面有2个类的实例化,怀疑是构造函数里面抛出了异常。原来是里面两个类的调用了需要连接数据库的操作,而连接数据库操作失败了,进而抛出了异常,但是在单一实例的实例化函数里面确得不到连接数据库的异常。这个问题隐藏得比较深,最终出现这个问题的原因,原来是数据库配置错误了。把配置文件一修改,再试,问题就解决了。

     小结:  针对这个问题,对这个实现做一下思考。在设计这个功能的时候,在构造函数里面调用了可能会比较耗时的操作,又没加锁,这绝对是最糟糕的Singleton实现。接手这样的程序,绝对不得闲,不省心啊。

      

      

 

转载于:https://www.cnblogs.com/jinglelin/archive/2011/08/30/2159851.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "Osgeo.gdal.gdalpinvoke"的类型初始值设定引发异常,一般是由以下几个原因引起的: 1. 缺少GDAL安装:如果没有正确安装GDAL库,该异常可能会被触发。请确保已经正确安装了GDAL库,并且相应的GDAL.dll文件位于正确的路径下。 2. 版本不兼容:如果使用的GDAL库的版本与代码中的版本不兼容,也会引发异常。请检查代码中对GDAL库的引用以及所使用的GDAL库的版本,确保它们是兼容的。 3. 缺少依赖:GDAL库可能依赖其他一些库文件或组件,如果缺少了这些依赖,也可能导致该异常。请检查系统中是否已正确安装了所需的依赖,并确保它们是最新的、完整的版本。 4. 环境配置错误:有时,异常可能是由于环境配置错误所致。检查是否设置了正确的环境变量,并且GDAL库的路径能够正确被找到。 如果经过以上检查后仍然无法解决该异常,建议参考GDAL官方文档或寻求相关开发者社区的帮助,以获取更具体的解决方案。 ### 回答2: "osgeo.gdal.gdalpinvoke"的类型初始值设定引发异常,可能是由于以下几个原因引起的: 1. GDAL库未正确安装:首先,请确保您已经正确安装了GDAL库。检查您的环境变量是否正确设置,并且库文件位于正确的路径下。 2. 版本不匹配:如果您的应用程序中使用的GDAL库版本与您安装的版本不匹配,可能会引发异常。请确保您的应用程序和GDAL库的版本一致。 3. 缺少依赖:GDAL库可能依赖于其他一些库或组件。请确保您在安装GDAL库时已经安装了所有的依赖,并且它们也正确地设置在环境变量中。 4. 平台不匹配:如果您的应用程序和GDAL库是在不同的平台上编译的,例如一个是在32位平台上编译,另一个是在64位平台上编译,可能会导致该异常。请确保您的应用程序和GDAL库的平台一致。 5. 资源冲突:如果您在应用程序中同时使用了其他库,可能会存在资源冲突导致该异常。请确保您的应用程序中没有其他库与GDAL库产生冲突。 如果以上方法都无法解决该异常,建议您查看异常的详细信息以获取更多的线索,并参考GDAL库的官方文档或社区来解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值