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

  • 错误类型:
    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. jQuery下的显示和隐藏

    因为太久没更新了,所以来放一点没意思的内容. 做的是jQuery框架的隐藏和显示,HTML如下: <ul> <li>1</li> <li>2</l ...

  2. Cretiria查询应用(二)

    1.条件查询,动态查询 public void conditionQuery(){ Session session=null; try { session=HibernateUtil.currentS ...

  3. (转)Jquery弹窗插件Lhgdialog的用法

    Lhgdialog的用法 大家都知道用js可以实现,但是在使用js实现的弹窗时得考虑很东西:浏览器的兼容.页面的交互等等问题. 在这里简单介绍一下lhgdialog的用法. 参数有: Title:弹窗 ...

  4. iOS_SN_百度地图基本使用(1)

    上次用了一次百度地图,一直没有记笔记,今天记一笔. 以前没有用过百度地图的时候,听做这方面的朋友说百度地图有不少的坑,但是我做的时候没有遇到太大的坑,主要是要注意官方文档的注意事项,还有配置环境开发中 ...

  5. MVC上传相关

    1.上传大小设置 system.web节点,httpruntime节点加入maxRequestLength="4096",以K为单位,例子中大小限制为4M. 2.form提交htm ...

  6. Go 解析JSON

    JSON(Javascript Object Notation)是一种轻量级的数据交换语言,以文字为基础,具有自我描述性且易于让人阅读.尽管JSON是JavaScript的一个子集,但JSON是独立于 ...

  7. 跨域Ajax请求 web.config文件配置

    在web.config文件的<system.webServer>节点下面添加如下配置代码:<!--允许跨域ajax访问--> <httpProtocol> < ...

  8. python 3.5 猜数字游戏

    #!/usr/bin/env python #encoding: utf-8 number = 88 for i in range(1,6): num = int(input('gusee numbe ...

  9. 有时summary的状态和details是否有open属性有关

    用过mac的同学对这个界面一定很熟悉,因为这个界面和我们今天要说的details有很多相近的地方,首先,其有折叠效果,用户可以自己选择打开或关闭哪一个,其次,当我们直接打开的时候,默认会有几个标签是打 ...

  10. Lintcode--001(比较字符串)

    比较两个字符串A和B,确定A中是否包含B中所有的字符.字符串A和B中的字符都是 大写字母 注意事项 在 A 中出现的 B 字符串里的字符不需要连续或者有序. 您在真实的面试中是否遇到过这个题? Yes ...