ASP.NET 调试过程异常汇总

  • 异常:可以为空的变量必须要有一个值

             诸如用TableAdapter设计器建立的返回Count(*)值的查询, 其值可以为NULL,比如int?

             在声明返回值存储变量的时候要注意用可空型,比如

              int? x = null;

             x = TableAdapter.GetCount();

  • 在修改表结构后,相应的BLL或者DS过程抛出异常, 或者找不到数据源,多半是由于APP_CODE需要重新编译引起的,如果此时代码有错误不能进行编译,就要先排除错误代码尽快实现编译以解决此类问题

 

  • 通过VS2005发布网站后,生成 “基础类不兼容”异常,还没有找到解决方法,估计是IIS和VS编译器BUG造成的问题,决定暂不采用编译成DLL的发布方式。

 

  • 如果DS中包含了多个表,则该DS不能自动生成insert等方法

 

  • 有的时候必须使用DS“刷新数据表”,否则或抛出异常:“如果Datarow中的行有更新,则必须有相应的更新方法”。原因是所更新表的相关表也有更新,就必须要采用“刷新数据表”。

 

  • 在DS中,不能设计和主表结构不同的方法,否则会抛出:一行或多行违反了约束异常。

 

  • 如果采用DS自己生成的INSERT方法来插入记录,则数据表中的默认值字段不能被自动赋值,会抛出错误。必须要自己编写INSERT方法才行。

 

  • 修改数据库结构后,TableAdaper的自生成语句可能会发生错误,修改后要进行检查,以避免抛出异常。比如有次删除了表中的一个字段,然后增加了一个字段,其他的类均作了相应的修改,但最后抛出异常“TableAdapter需要有效的InsertCommand”。 原因是字段修改后TA自生成的InsertCommand SQL语句消失了,重新自己加上后问题解决。

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET MVC 提供了一种处理应用程序中出现的异常的方式,即使用全局异常过滤器。 要创建一个全局异常过滤器,请实现 `IExceptionFilter` 接口并在全局过滤器集合中注册该过滤器。以下是一个示例: ```csharp public class CustomExceptionFilter : IExceptionFilter { public void OnException(ExceptionContext filterContext) { // 处理异常 } } public class FilterConfig { public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new CustomExceptionFilter()); } } ``` 在上面的示例中,`CustomExceptionFilter` 类实现了 `IExceptionFilter` 接口,并在 `OnException` 方法中处理异常。然后,在 `FilterConfig` 类中,通过调用 `filters.Add` 方法将全局异常过滤器添加到过滤器集合中。 除了实现 `IExceptionFilter` 接口外,还可以通过继承 `HandleErrorAttribute` 类来创建全局异常过滤器。以下是一个示例: ```csharp public class CustomExceptionFilter : HandleErrorAttribute { public override void OnException(ExceptionContext filterContext) { // 处理异常 } } public class FilterConfig { public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new CustomExceptionFilter()); } } ``` 在上面的示例中,`CustomExceptionFilter` 类继承自 `HandleErrorAttribute` 类,并在 `OnException` 方法中处理异常。然后,在 `FilterConfig` 类中,通过调用 `filters.Add` 方法将全局异常过滤器添加到过滤器集合中。 无论使用哪种方式创建全局异常过滤器,都应该确保在应用程序中只有一个全局异常过滤器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值