ASP 中健壮的页结构的异常处理

构建健壮API:异常处理与数据传输 本文探讨了如何在ASP.NET Core应用程序中处理异常和配置问题详情响应。通过使用ExceptionHandlerMiddleware和StatusCodePagesMiddleware,开发者可以确保应用程序能够返回标准化的问题详情响应。同时,文章还介绍了如何返回非文本数据类型,以及如何使用端点过滤器优化代码结构和处理常见的横切关注点。 阅读详情
错误处理是让程序员牢骚满腹的东西之一。让我们来面对它,我们不写错误的代码就是了。。。或者类似的想法。不幸的是,代码中的运行时错误可能有许多 的原因,从硬件、软件的改变到使用了别的开发团队的代码等等。有效的处理这些错误并使得它对于网站正常操作过程的中断最小化是每个有良知的程序员的责任。  
   
  在本文讨论的范围内,有三个不同的地方可以发生错误:脚本,中间件,以及IT内部架构。IT内部架构的错误,比方周期性的性 能降低并导致IIS进行(Inetinfo.exe)崩溃几乎是无法避免的。这种类型的错误通常只能打电话要求技术支持并且会让系统管理员忙上很久。开发 者不能为阻止这类错误做些什么,但是我们通常能够应付和改正脚本和中间件中的错误。 在安装了IIS以后,缺省的服务器端脚本语言被设置成VBScript。许多Web 开发团队在他们的开发环境中保持了这些缺省设置,这是不幸的,因为VBScript对于处理运行时错误的支持非常的差。在VBScript中,开发者可以 使用的唯一一个错误处理结构是

On Error Resume Next (打开错误处理功能) 和
On Error GoTo 0 (关闭错误处理功能)

  为了在你的ASP 页面里有效的使用这个错误处理结构,你可能需要用这些结构包括可能抛出异常的代码,就象下面这样: 
   
<%
Dim myVar
On Error Resume Next
'下面一行代码会在MSXML 4.0没有被安装或者已经损坏的情况下产生错误
Set myVar = Server.CreateObject("MSXML2.DOMDocument.4.0")
If Err.Number <> 0 Then
' 在这里处理错误
' 结束错误处理,避免以后发生的错误无法被发现
On Error GoTo 0
Else
' myVar 现在指向 MSXML 4.0 DOMDocument的一个实例
' 结束错误处理,避免以后发生的错误无法被发现
On Error GoTo 0
End If 
%>
   
  就象你看到的一样,如果你要在每一行现有的可能发生错误的代码上使用上面的规则,你的程序马上就会充满 "On Error" 和 "If Err.Number <> 0 Then . . ." 这样的结构。

  而另一方面JScript对于健壮的错误处理机制“结构化异常处理(SEH)”有内建的支持。使用SEH能够让你的软件开发团队顺利的转移到. NET 环境上来,因为SEH是JScript.NET, VB.NET, 和 C#缺省的错误处理机制。(注意:.NET不支持VBScript。)下面的例子代码执行与VBScript代码相同的操作,但是使用JScript语言 并用SEH来处理异常

<%@ LANGUAGE="JScript" %>
<%
var myVar;
try {
myVar = Server.CreateObject("MSXML2.DOMDocument.4.0");
// 如果上面发生了错误,那么catch
// 代码块就会立刻被执行
// 并在myVar上进行必要的操作。
}
catch (e) {
// 在这里处理异常,异常本身可以用
// 'e' 变量进行引用。
}
finally {
// 在这里进行所有收尾工作
// 这段代码不管错误有没有发生
// (也就是“catch”块有没有运行)
// 都会执行。
}
%>

  通过在服务器端使用JScript,你就得到了SEH带来的好处,以及对复杂ASP对象,比方Server,Request和Response 对象的完全使用。要把这种脚本语言设置成你的ASP页面的缺省语言,你只需要简单的在你的ASP页面上添加@LANGUAGE指令,就象上面的例子那样。

 
ASP.NET文件操作:上传、枚举与异常处理 本章深入探讨了ASP.NET环境下文件的上传、存储位置的指定、目录内文件的枚举和异常处理。学习了如何使用EnumerateFiles方法列出目录中的特定文件,并且如何通过异常处理确保程序的健壮性。此外,还介绍了如何捕获并显示错误信息,以及如何安全地处理文件上传。 阅读详情

相关推荐

避坑指南:合宙Air780EG阿里云一型一密连接时,为什么你的HmacMD5加密总失败?

本文针对合宙Air780EG模组连接阿里云物联网平台时,HmacMD5签名失败的常见问题提供深度解决方案。详细剖析了签名拼接格式、密钥使用、随机数处理及编码大小写等关键陷阱,并结合STM32嵌入式开发环境,给出了串口调试、分步验证及AT指令链路的实用排错技巧,帮助开发者顺利完成一型一密动态注册。

kiwi8的博客 440

转贴:ASP 中健壮的页结构的异常处理

错误处理是让程序员牢骚满腹的东西之一。让我们来面对它,我们不写错误的代码就是了。。。或者类似的想法。不幸的是,代码中的运行时错误可能有许多的原因,从硬件、软件的改变到使用了别的开发团队的代码等等。有效的处理这些错误并使得它对于网站正常操作过程的中断最小化是每个有良知的程序员的责任。            在本文讨论的范围内,有三个不同的地方可以发生错误:脚本,中间件,以及IT内部架构。IT内部架构

蛙蛙池塘 1199

LabVIEW多设备采集实战:1个程序同时控制3个RS485 Modbus仪表

本文详细介绍了如何使用LabVIEW实现多设备RS485 Modbus同步采集,涵盖硬件架构设计、多线程通信框架搭建、数据帧解析技巧及性能优化策略。通过实际项目案例,展示如何解决端口冲突、数据解析错误等工业自动化常见问题,提升采集系统实时性与可靠性。

qsc901234的博客 298

ASP 中健壮的页结构的异常处理(转)

错误处理是让程序员牢骚满腹的东西之一。让我们来面对它,我们不写错误的代码就是了。。。或者类似的想法。不幸的是,代码中的运行时错误可能有许多的原因,从硬件、软件的改变到使用了别的开发团队的代码等等。有效的处理这些错误并使得它对于网...

cuankuangzhong6373的博客 144

zemax双透镜公差分析

蒙特卡罗分析: 评估公差的整体影响,模拟过程中产生一系列随机的lens,满足指定的公差,然后再按照标准评估。公差分析,就是在设计了一个理想的系统后,想看看实际生产过程中如果产生公差(误差),系统会坏到什么程度,也就是光学性能受到多大影响。反灵敏度分析:分别对每个公差在性能方面的一个给定的最小允许减少量来计算公差,也就是限制了系统性能的变化,和灵敏度分析方向相反。灵敏度分析对每个公差单独求值,分别计算每个公差操作数的最大、最小、标准值(如上图)所有设计上可能的公差都列出来了。注意要固定透镜的口径。

fendoudecheng的博客 3207

【STM32项目】基于STM32设计的震动马达超声波电机高频震动——高级定时器PWM互补输出带死区控制__资料编号3

实现高级定时器互补输出带死区控制,实现震动/超声波电机/马达,高频震动。使用 STM32F103 芯片输出两路互补 PWM,并带有死区和刹车控制功能。定时器 1 通道 1 及其互补通道输出PWM,且带死区控。当定时器 1 的刹车输入引脚被拉高时,产生刹车时间,即定时器 8 停止输出 PWM。当刹车输入引脚被拉高时,通道 1 和通道 2 将从有波形输入状态转换成无效电平状态。

嵌入式阿齐Archie 6741

ASP中健壮的页结构的异常处理

在本文讨论的范围内,有三个不同的地方可以发生错误:脚本,中间件,以及IT内部架构。IT内部架构的错误,比方周期性的性能降低并导致IIS进行(Inetinfo.exe)崩溃几乎是无法避免的。这种类型的错误通常只能打电话要求技术支持并且会让系统管理员忙上很久。 开发者不能为阻止这类错误做些什么,但是我们通常能够应付和改正脚本和中间件中的砦蟆?在安装了IIS以后,缺省的服务器端脚本语言被设置成VBScr

南三方---网站设计开发录 497

常用元器件使用方法3:电平转换芯片74LVC1T45的使用方法

介绍: 74LVC1T45是一个单位双向可控电平转换芯片。   芯片特性: 1、宽供给电压范围:1.65V到5.5V; 2、3.3V时,可输出24mA电流; 3、最大16uA电能损耗; 4、高噪音抑制;   型号:   引脚: VCC(A) 1 A端和DIR电源 GND 2 地 A 3 数据输入/输出 B 4 ...

snmplink的博客 1万+

Clean Architecture异常处理与全局错误处理:构建健壮的Web API服务

在构建企业级ASP.NET Core Web API时,异常处理是保证系统稳定性和用户体验的关键环节。Clean Architecture解决方案模板提供了一套完整的异常处理机制,帮助开发者构建健壮的API服务。本文将为您深入解析Clean Architecture的异常处理体系,展示如何实现全局错误处理和优雅的异常响应。 ## 为什么异常处理如此重要? 🛡️ 在分布式系统中,异常是不可避免

gitblog_01091的博客 706

Proxmox(pve)集群(4)存储(1)配置分布式存储ceph

它使用一种称为CRUSH(Controlled Replication Under Scalable Hashing)算法的数据分布算法来将数据均匀地分布在多个存储节点上,并确保数据的冗余和容错。它负责管理数据的分布、冗余和自动修复。PVE支持本地存储、LVM、NFS、iSCSI、CephFS、RBD、ZFS等存储方式,我这里使用两种存储方式,一种是通过ceph实现分布式存储,一种是通过truenas实现集中式存储。自我管理和自动恢复:Ceph具有自我管理的特性,可以动态地调整和优化存储集群的配置。

Monster✺◟(∗❛ัᴗ❛ั∗)◞✺的博客 2623

【Reality Capture 】01:Reality Capture1.5中文版安装教程(附安装包下载)

本文详细介绍了Reality Capture 1.5中文版的安装步骤。首先,下载并解压Reality Capture v1.4.0汉化版安装包,运行EpicInstaller并更改安装路径。接着,启动Epic Games Launcher,登录或注册账号后下载并安装软件。安装完成后,进入主界面并设置中文语言。此外,还提供了中文补丁的拷贝方法,将ui.xml和RealityCapture_CHS.exe文件分别放置到指定目录,并运行RealityCapture_CHS.exe以完成汉化。最后,文章提供了Rea

智慧空间实验室 1749

代码健壮性--理论篇

在这次ITOO技术小组里,我选择了“代码规范”这个方向进行研究,在对代码注释、命名、SVN规范等了解了之后,最让我感到兴奋的一点就是:代码的健壮性。    期初浅显理解:    健壮性是指软件对于规范要求以外的输入情况的处理能力。所谓健壮的系统是指对于规范要求以外的输入能够判断出这个输入不符合规范要求,并能有合理的处理方式。    也就是说,最初的理解类似在机房收费系统中,输入的文本

暂七师师长常乃超 1万+

ABAP ALV 导出总被锁死为固定格式?把 Always Use Selected Format 一键重置到可选状态

摘要:SAP ALV报表导出时勾选"Always Use Selected Format"会导致导出格式被锁定,无法切换格式。文章分析该问题原因(系统持久化配置),提供用户自助解法(ALV list使用&RESET_EXCEL命令码,ALV grid通过右键菜单恢复弹窗),管理员治理方案(使用SALV_BS_ADMIN_MAINTAIN报表批量处理),并指出SAP_BASIS 7.02版本的特殊处理方式(需参考SAP Note 1716802和1590484)。最后给出排障清单,

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 218

ASP.NET Core异常处理:全局错误处理策略

在Web应用开发中,异常处理是保证系统稳定性和用户体验的关键环节。ASP.NET Core提供了强大的异常处理机制,能够帮助开发者构建健壮的应用程序。本文将深入探讨ASP.NET Core的全局异常处理策略,从基础配置到高级定制,为您提供完整的解决方案。 ## 异常处理的重要性 异常处理不仅仅是捕获错误,更是: - **用户体验保障**:向用户展示友好的错误信息 - **系统稳定性**:防止...

gitblog_01056的博客 1051

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【ASP.NET Core 8模型验证终极指南】:掌握10种高效验证技巧,提升API健壮性

掌握ASP.NET Core 8 Web API模型验证的10种高效技巧,解决请求数据不合法问题,提升API健壮性与安全性。涵盖内置验证、自定义规则、FluentValidation应用等场景,助力前后端协同开发,值得收藏。

VarChat的博客 966

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

代码健壮性浅析

健壮性是指程序可以适应正常和非正常的运行环境,都可以正确地运行;随着业务量的增加,不会出现阻塞和不可用的情况(官方概念)。   举一个简单的例子:如果一个人很健壮,那么他在遇到一些小毛病的时候,比如感冒,能够很快恢复,而不至于遇到感冒就倒掉了对比过来,就是如果一个程序很健壮,那么他在遇到感冒的时候(比如,想要打开的文件不存在),也能够很快恢复(处理异常情况,输出错误信息等),然后继续运行下去,而不...

weixin_38366182的博客 1971

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ASP.NET Core 统一异常处理和返回

ASP.NET Core 统一异常处理和返回

10年职场两茫茫,35岁凄凉奈若何 484

Asp.Net Web MVC 统一异常处理

Asp.Net Web MVC 统一异常处理 作用:Mvc中,统一处理异常信息,自定义异常信息,自定义响应结果 抽象类:FilterAttribute 接口:IExceptionFilter 使用类:Syste.Web.Mvc.HandleErrorAttribute:FilterAttribute,IExceptionFilter 重写方法:void OnException...

donglai3512的博客 307

asp.net core练手小项目(09) - 异常处理

本篇讲解 asp.net core 异常处理相关的技术要点。 配置 asp.net core 开发环境 asp.net core 将 Web 应用程序的开发环境分为 Development (开发环境), Staging (演示环境) 和 Production (生产环境)。这些不同环境的意思应该是自描述的,不用再解释。在开发环境中,出现异常时,asp.net core 使用统一的模板来显示异常,显示在异常页面的信息有利于开发者了解异常出错的情况和原因。比如,试图访问 Id 为 111 的页面显示的异常页面

王敏的专栏 546

第九章 工具3-内置中间件

本章介绍LangChain中剩余的内置中间件,涵盖能力扩展、输出质量、测试开发及文件搜索四大类。能力扩展类包括:TodoListMiddleware实现任务拆解与进度跟踪;FilesystemMiddleware提供虚拟文件系统与上下文卸载,支持持久化与安全执行;SubAgentMiddleware实现子任务委派,缓解上下文膨胀;ShellToolMiddleware赋予持久化Shell会话,结合Docker等策略保障安全。输出质量方面,RubricMiddleware通过自我评估迭代优化结果。测试开发使用

lichao201005的专栏 306
上一篇: 34个好习惯
下一篇: 用静态URL显示动态网页
RAINMAN_NET
博客等级 码龄22年 2粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值