ASP.NET入门 - 错误和异常处理
当发生错误时,应该向用户提供一个友好的界面,可以屏蔽详细技术信息,也有助提升用户体验,这时就用到了异常处理。
- 错误类型:
- 语法错误;因缺少关键字,符号,或其他不正确代码所产生的错误,无法通过编译。
- 逻辑错误;貌似没问题,但产生意外的结果。
- 运行时错误;导致应用程序在运行时崩溃,或有其他意外行为的错误。
- 错误页面
- 在异常发生时,显示给用户的页面,可以将不同类型的错误,映射到不同页面。
- 局部异常处理:
try catch 一般将有可能出现的异常代码包装在try语句块中,当发生异常时catch会捕捉异常对象,在异常发生之前,处理异常,这样可以更好的控制代码的运行。
- 全局异常处理和自定义错误页面:
在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属性决定了站点的访问者是否可看到详细的错误页面
- On : 站点的错误者总是看到自定义的错误页面
- Off : 不显示自定义的错误页面
- RemoteOnly : 仅把完整的错误信息显示在本地用户(运行站点的计算机),用户只看到自定义的错误页面
调试,是一个查找并修改代码中bug的过程。可以在代码运行过程中移动,检查变量和对象,甚至动态执行方法和新代码,此时需要一个断点。
跟踪,在运行时最有效地找到代码的执行路径。
当代码在某个断点处停止,可使用快捷键来决定接下来的操作。
| 快捷键 | 说明 |
| F5 | 启用调试,在调试时按下F5将会命中下一个断点。 |
| F11 | 执行当前行并单步进入被调用的方法 |
| F10 | 执行当前行,而不单步进行被调用的代码,除非包含断点 |
| Shift+F5 | 停止调试。 |
| Shift+F11 | 执行当前代码块中的代码,并返回最初调用它的代码 |
| Ctrl+Shirt+F5 | 重启调试过程 |
这是初学ASP.NET时,做的笔记。现在翻出来觉得自己那时候傻傻的,有一腔热血。正课也不上就窝宿舍看书,比砖头厚的红皮书啃完了一本又一本。那一天是2012-12-10。
ASP.NET入门 - 错误和异常处理的更多相关文章
- [翻译] ASP.NET WebAPI 中的异常处理
原文链接:https://docs.microsoft.com/en-us/aspnet/web-api/overview/error-handling/exception-handling 本文介绍 ...
- ASP.NET Core错误处理中间件[1]: 呈现错误信息
NuGet包"Microsoft.AspNetCore.Diagnostics"中提供了几个与异常处理相关的中间件.当ASP.NET Core应用在处理请求过程中出现错误时,我们可 ...
- ASP.NET Core错误处理中间件[2]: 开发者异常页面
<呈现错误信息>通过几个简单的实例演示了如何呈现一个错误页面,该过程由3个对应的中间件来完成.下面先介绍用来呈现开发者异常页面的DeveloperExceptionPageMiddlewa ...
- ASP.NET Core错误处理中间件[4]: 响应状态码页面
StatusCodePagesMiddleware中间件与ExceptionHandlerMiddleware中间件类似,它们都是在后续请求处理过程中"出错"的情况下利用一个错误处 ...
- PHP错误以及异常处理
以前一直觉得php的异常处理没有什么,现在才发现这个还真是门学问,于是狠下心来好好研究了一下,写一篇文章,也作备忘吧. 1. php错误 无论是什么语言编程,都会有如下三种错误,当然php也不例外. ...
- ASP.NETMVC自定义错误页面真的简单吗?
Note:文章前半部分翻译自 http://benfoster.io/blog/aspnet-mvc-custom-error-pages ,着急的可直接看总结~ 如果你在设置asp.net mvc自 ...
- Yii中的错误及异常处理
Yii中的错误及异常处理 Yii已经默认已经在CApplication上实现了异常和错误的接管,这是通过php的set_exception_handler, set_error_handler实现的. ...
- ASP开发入门+实战电子书共50本 —下载目录
小弟为大家整理50个ASP电子书籍,有入门,也有实战电子书,做成了一个下载目录,欢迎大家下载. 资源名称 资源地址 ASP.NET开发实战1200例_第I卷 http://down.51cto.com ...
- ASP.NET自定义错误页面
ASP.NET自定义错误页面 ASP.NET 提供三种用于在出现错误时捕获和响应错误的主要方法:Page_Error 事件.Application_Error 事件以及应用程序配置文件 (Web.co ...
随机推荐
- Set,Map数据结构
/*Set : 多个value的集合, value不重复Map : 多个key-value对的集合, key不重复 1. Set容器 1). Set() 2). Set(array) 3). add( ...
- 关于在css里设置图片圆角的问题
今天做了一个项目,效果图内页的产品图片都是带圆角的,于是前端的做了圆角的效果,div+css是这样的,首先div布局是: <div class="tiandi_item" o ...
- SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题
一.SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 linux 设置系统语言 修改 /etc/sysconfig/i18n 文件,如 LANG="en_ ...
- arraylist的使用
ArraylistDemo package cn.stat.p6.arraylist.demo; import java.util.ArrayList; import java.util.Iterat ...
- 动态绑定、阻止继承,final类和方法
1.编译器查看对象的声明类型和方法名.当调用 x.f(param); 且隐式参数x生命为C类对象.这时候可能有多个名字都叫f,但是参数类型不一样的方法.编译器会一一列举C类中名为f的方法和其超类中访问 ...
- C#Mysql数据库爆破源码
声明: 代码仅供学习参考使用!开启了一个子线程,进行爆破! 速度不是很快,代码不是很规范,希望大牛不要喷我! c#控制台程序,需要引用MySql.Data.dll 默认用户名: root密码字典: p ...
- C语言初学 if-else语句判断俩数的最大值
#include<stdio.h> main() { float a,b; printf("输入俩个任意实数\n"); scanf("%f%f",& ...
- .Net SSRS(rdlc) 报表经验总结
排版 1. 可以利用表格来布局,以避免调整固定宽度的麻烦. 2. 一个表的表头里还可以嵌套表格. 3. 设置rdlc报表打印格式.首先打开RDLC报表设计器页面.在灰色部分点右键 -> 报表属性 ...
- java实现双端链表
PS:双端链表(持有对最后一个节点的引用,允许表尾操作与表头操作等效的功能) public class DoubleLinkedList { //节点类 static class Node { pub ...
- cf C. Purification
http://codeforces.com/contest/330/problem/C 这道题分三种情况.有一行全是E,有一列全是E,还有一种为无解的情况. #include <cstdio&g ...