栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > .Net

C#程序常见异常

.Net 更新时间:发布时间: 百科书网 趣学号
1. 未将对象引用设置到对象实例

异常原因:声明的对象没有进行实例化,即对象的实际值为null

解决方案:new一个实例

2. 类型初始值设定项引发异常

异常原因:配置文件缺少配置项。

解决方案:web.config文件中,添加缺少的config值

3. 调用目标发生了异常

异常原因:程序调用外部服务(或动态加载动态库内容)的时候,如果外部服务报错,返回这个异常。如:本地程序调用外部webService、dll文件等会出现这种情况。

解决方案:我们需要输出InnerException来查看具体的报错信息。

以下引用地址: https://www.cnblogs.com/shensigzs/p/4637614.html

可以在Program.cs类中加入如下代码:

static void Main()

        {

            Application.ThreadException +=new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

            Application.Run(new FrmMain());

        }

        static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)

        {

            Exception ex = e.Exception;

            Collect.DX.Command.LogHelper.logger.Error(ex.InnerException.ToString());//日志记录

            //做一些极其简单的记录异常信息操作

            MessageBox.Show(ex.Message+Environment.NewLine+ex.InnerException.ToString(),"严重错误",MessageBoxButtons.OK,MessageBoxIcon.Error);

            Application.Exit();

        }

现在错误信息一目了然

4.未能找到类型或命名空间名称“......”(是否缺少using指令或程序集引用?)

程序中已经引用了这个dll文件,但是仍然报错(如下图1  图2)。

异常原因:引用的这个dll (OracleSQLMysql数据库查询.dll)生成的目标框架是.NET4.5,而执行程序的目标框架是.NET4.0,由于低版本不能兼容高版本,所以报错。

解决方案:将执行程序与调用的程序集使用相同框架版本。

5.未包含“IsChecked”的定义

查看类ThreeCatalog时,包含”IsChecked”变量,但还是出现如下异常。

异常原因:项目中引用的是ThreeCatalog类所生成的程序集dll,此dll中不包含”IsChecked”变量。

解决方案:重新编译生成ThreeCatalog类的程序集dll,并查看引用dll地址是否是最新生成的。

 

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/984836.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号