当发生错误时,应该向用户提供一个友好的界面,可以屏蔽详细技术信息,也有助提升用户体验,这时就用到了异常处理。

  • 错误类型:
    1. 语法错误;因缺少关键字,符号,或其他不正确代码所产生的错误,无法通过编译。
    2. 逻辑错误;貌似没问题,但产生意外的结果。
    3. 运行时错误;导致应用程序在运行时崩溃,或有其他意外行为的错误。
  • 错误页面
    1. 在异常发生时,显示给用户的页面,可以将不同类型的错误,映射到不同页面。
  • 局部异常处理:

try catch 一般将有可能出现的异常代码包装在try语句块中,当发生异常时catch会捕捉异常对象,在异常发生之前,处理异常,这样可以更好的控制代码的运行。

  • 全局异常处理和自定义错误页面:
              可以在<customError>节点下添加多个<error>元素,其中每个元素代表一个不同的状态码。

在web.config文件的customError元素中定义想要显示的错误页。

<customError mode="On" defaultRedirect="~/Errors/Error500.aspx">
<error statusCode="404" redirect="~/Errors/Error404.aspx" />
<error statusCode="500" redirect="~/Errors/Error500.aspx" />
</customError>

    mode属性决定了站点的访问者是否可看到详细的错误页面

    1. On : 站点的错误者总是看到自定义的错误页面
    2. Off : 不显示自定义的错误页面
    3. RemoteOnly : 仅把完整的错误信息显示在本地用户(运行站点的计算机),用户只看到自定义的错误页面

调试,是一个查找并修改代码中bug的过程。可以在代码运行过程中移动,检查变量和对象,甚至动态执行方法和新代码,此时需要一个断点。

跟踪,在运行时最有效地找到代码的执行路径。

当代码在某个断点处停止,可使用快捷键来决定接下来的操作。

快捷键 说明
F5 启用调试,在调试时按下F5将会命中下一个断点。
F11 执行当前行并单步进入被调用的方法
F10 执行当前行,而不单步进行被调用的代码,除非包含断点
Shift+F5 停止调试。
Shift+F11 执行当前代码块中的代码,并返回最初调用它的代码
Ctrl+Shirt+F5 重启调试过程

  这是初学ASP.NET时,做的笔记。现在翻出来觉得自己那时候傻傻的,有一腔热血。正课也不上就窝宿舍看书,比砖头厚的红皮书啃完了一本又一本。那一天是2012-12-10。

ASP.NET入门 - 错误和异常处理的更多相关文章

  1. [翻译] ASP.NET WebAPI 中的异常处理

    原文链接:https://docs.microsoft.com/en-us/aspnet/web-api/overview/error-handling/exception-handling 本文介绍 ...

  2. ASP.NET Core错误处理中间件[1]: 呈现错误信息

    NuGet包"Microsoft.AspNetCore.Diagnostics"中提供了几个与异常处理相关的中间件.当ASP.NET Core应用在处理请求过程中出现错误时,我们可 ...

  3. ASP.NET Core错误处理中间件[2]: 开发者异常页面

    <呈现错误信息>通过几个简单的实例演示了如何呈现一个错误页面,该过程由3个对应的中间件来完成.下面先介绍用来呈现开发者异常页面的DeveloperExceptionPageMiddlewa ...

  4. ASP.NET Core错误处理中间件[4]: 响应状态码页面

    StatusCodePagesMiddleware中间件与ExceptionHandlerMiddleware中间件类似,它们都是在后续请求处理过程中"出错"的情况下利用一个错误处 ...

  5. PHP错误以及异常处理

    以前一直觉得php的异常处理没有什么,现在才发现这个还真是门学问,于是狠下心来好好研究了一下,写一篇文章,也作备忘吧. 1. php错误 无论是什么语言编程,都会有如下三种错误,当然php也不例外. ...

  6. ASP.NETMVC自定义错误页面真的简单吗?

    Note:文章前半部分翻译自 http://benfoster.io/blog/aspnet-mvc-custom-error-pages ,着急的可直接看总结~ 如果你在设置asp.net mvc自 ...

  7. Yii中的错误及异常处理

    Yii中的错误及异常处理 Yii已经默认已经在CApplication上实现了异常和错误的接管,这是通过php的set_exception_handler, set_error_handler实现的. ...

  8. ASP开发入门+实战电子书共50本 —下载目录

    小弟为大家整理50个ASP电子书籍,有入门,也有实战电子书,做成了一个下载目录,欢迎大家下载. 资源名称 资源地址 ASP.NET开发实战1200例_第I卷 http://down.51cto.com ...

  9. ASP.NET自定义错误页面

    ASP.NET自定义错误页面 ASP.NET 提供三种用于在出现错误时捕获和响应错误的主要方法:Page_Error 事件.Application_Error 事件以及应用程序配置文件 (Web.co ...

随机推荐

  1. textarea固定大小,不可拖动

    写前端,经常很多小东西容易忽略忘记,今天写页面碰到设定一个输入框大小,死活记不起怎么固定,故找了一下度娘,其实添加一个css属性就好了: resize: none; 随笔记一下!

  2. ECMAscript v.s. Javascript

    ECMAscript是一种中性的语言,中性表示与所处环境(宿主环境)无关(客户端/服务器/浏览器),它仅仅是一个纯粹意义上的语言. ECMAscript-262定义了这门语言的基础,或者说规则(比如说 ...

  3. mysql索引之唯一索引

    mysql 的唯一索引一般用于不重复的字段,一般会把表中的id设为唯一索引,创建唯一索引的目的不是为了提高查询速度,而是为了避免数据重复,注意:唯一索引可以有多个,但是列值必须唯一,创建唯一索引使用关 ...

  4. Css3小技术

    圆角border-radius border-radius:length *注: 这是一个缩写,相当于四个角设置同样的值,用px或者百分比都可以,想要成为圆形,就用50%,你也可以单独设置每个角,语法 ...

  5. Python函数小结(1)--参数类型(*, ** 的区别), 闭包

    刚开始学习python,python相对于java确实要简洁易用得多.内存回收类似hotspot的可达性分析, 不可变对象也如同java得Integer类型,with函数类似新版本C++的特性,总体来 ...

  6. ZooKeeper笔记--集群安装配置 【转】

    ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization).命名服务(Naming S ...

  7. jquery easyui根据需求二次开发记录

    1.tree需要显示多个图标 实际需求:设备树上节点需搁三个图片,分别标识运行状态.告警状态.设备类型 解决方法:给tree的iconCls传入一个数组,分别是各状态下的class(css),然后要改 ...

  8. 终于懂了:Delphi的函数名不是地址,取地址必须遵守Object Pascal的语法(Delphi和C的类比:指针、字符串、函数指针、内存分配等)good

    这点是与C语言不一样的地方,以前我一直都没有明白这一点,所以总是不明白:函数地址再取地址算怎么回事? ------------------------------------------------- ...

  9. C#实现目录复制

     摘自:http://www.cnblogs.com/zxjay/archive/2008/10/29/1322517.html FCL提供了文件移动.文件复制.目录移动的方法,但没提供目录复制的 ...

  10. C++中构造函数初始化成员列表总结

    1.只能在构造函数初始化列表初始化的成员变量的类型? a.const成员变量 b.引用类型的成员变量 c.static不能在初始化列表中进行初始化 d.类成员变量中有自定义类型的变量最好在初始化列表中 ...