关闭顶部展开顶部

浅析ASP.Net之C#中的异常处理_.Net教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:ASP.Net网络数据库:连接到数据库
1.使用数据库MyFirstAccessDB 本实例使用的数据库名称为MyFirstAccessDB,版本为Microsoft Access 2003中文版。该数据库已经在1.4.2节中创建。 2.创建新ASP.NET应用程序 在Visual Studio .NET 2003集成开发环境中创建新的ASP.NET Web应用程序,命名为Examp

基础知识

程序开发中,数据流按照一定的规律进行传输,如果用户和程序之间的交互完全按照预定的效果运行,程序不会出现问题。可以假设所处理的数据都符合要求,通过界面作格式判定,所有资源都正确,但是为了系统的安全,需要处理存在的隐患,不能对数据安全抱有理想化的想法。

在ASP.NET中,错误处理分为两个层面:页面输入信息验证、CLR提供的结构化错误处理机制。

在页面输入信息判断中,可以采用JavaScript、VBScript等脚本进行判断,也可以使用.NET 环境下带有的Validation和正则表达式的方式将信息在提交执行处理前,进行格式判断。格式判断包括:网络地址、电子信箱、输入字符串长短和输入信息的数据类型的判断等。

结构化异常处理是CLR的基础部分,具有以下特点:可以跨语言,异常可以在一种语言中引发,在另外一种语言中捕捉处理;分层处理,一个异常可以包括另外一个异常,这意味着系统可以捕获底层对象(如数据层和业务层)的异常,引发自己的异常,包含有底层对象的异常。这样可以将异常进行细致分类,使得异常更容易处理。

结构化异常处理,一般要使用3部分代码。

(1)Try:是程序中可能出现错误的操作部分。

(2)Catch:是用来处理各种错误的部分(可以有多个)。必须正确排列捕获异常的Catch子句,范围小的Exception放在前面的Catch。即如果Exception之间存在继承关系,就应把子类的Exception放在前面的Catch子句中。

(3)Finally 块的代码用来清理资源或执行要在Try块末尾执行的其他操作(可以省略)。无论是否产生异常,Finally块都会执行。

结构化异常处理

异常是在程序设计中无法避免的错误,设计的程序必须能够处理所有可能出现的错误。所以要全面考虑异常处理,将一切可能出现异常的代码都进行try的捕捉,然后建立自己的异常处理机制,按照不同的异常情况进行分类处理。

异常产生的时候,需要知道是什么原因造成的错误以及错误的相关信息。根据实际情况抛出具体类型的异常,然后建立捕捉机制,捕捉到异常时做出具体的处理。在编写代码过程中,可以使用系统已定义的相关异常类以及自定义的异常类来实例化并抛出需要的异常。如一个不可能实现的接口,可以抛出System.NotSupportedExceptiion的异常来告诉接口的调用者。

在处理异常的时候,应该将可处理的具体异常分别在catch 块中作出相应处理,否则程序将终止运行。针对每一种异常,以不同方式处理,避免对所有异常做出一样的处理。并且在异常产生时,给用户一个友好的提示(最终用户对系统异常的具体内容是不明白的,这就需要给出相关的信息提示和解决方案,或告诉联系管理员等),并在可能的情况下给用户提供选择(确定和取消),让用户来决定系统的运行方向。同时,程序中要将异常做日志记录。不是所有异常都是必须记录的,例如一些可捕捉并且已经安排程序进行处理的异常就不需要记录它。

分享:JSP和ASP.NET存储过程的对比
这篇文章主要介绍了Oracle数据库到SQL Server数据库主键的迁移过程,具体内容请参考下文。 由于项目需要要将以前Oracle的数据库转化为SQL Server,今天利用SQL Server的DTD进行数据库的迁移,但导入以后发现只导入了表结构和数据,而表的一些主键约束都没导过

共2页上一页12下一页
来源:模板无忧//所属分类:.Net教程/更新时间:2009-05-16
loading.. 评论加载中....
相关.Net教程
闂佹眹鍩勯崹閬嶆偤閺囶澁缍栭柛鈩冪⊕閳锋帗銇勯弴妤€浜惧銈忕秶閹凤拷
濠电偛顕慨顓㈠磻閹炬枼妲堥柡鍌濇硶婢ф稒淇婇懠顒夆偓婵嬫煟閵忊晛鐏查柟鍑ゆ嫹
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓兼径瀣閻庣懓瀚竟鍡欐崲娑斾線鏌i姀鈺佺伈闁瑰嚖鎷�
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓兼径濠勵吋闂佽鍨庨崟顓фК闂佽閰eḿ褍螞濞戙垺鍋夐柨鐕傛嫹
闂備胶枪缁绘劙骞婃惔銊ョ劦妞ゆ帒鍊哥敮鍫曞箹鐎涙ḿ鐭掔€规洘绻堥弫鎾绘晸閿燂拷
闂備胶枪缁绘劙骞婃惔銊ョ劦妞ゆ巻鍋撻柛姘儑缁﹪鏁傞崜褏鐓撻柣搴岛閺呮繈鎯屽▎鎴犵=濞撴艾锕ョ€氾拷
闂備浇銆€閸嬫挻銇勯弽銊р槈闁伙富鍣i弻娑樷攽閹邦亞鑳虹紓浣靛妽濡炶棄顕i妸鈺婃晬婵炲棙鍨电粭锟犳⒑閸濆嫬鈧骞婇幘鑸殿潟闁跨噦鎷�
闂備礁鎼崯鐗堟叏妞嬪海绀婂鑸靛姈閻擄綁鎮规潪鎷岊劅婵炲眰鍊曢湁闁挎繂妫欑粈鈧梺鍛娚戦悧鐘茬暦閹扮増鏅搁柨鐕傛嫹
婵犵妲呴崹顏堝礈濠靛棭鐔嗘俊顖氬悑鐎氱粯銇勯幘瀵哥畺閻庢熬鎷�
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓奸崶銊ヮ伕濡炪倖鎸荤换鍐偓姘虫珪娣囧﹪顢涘Δ鈧晶鍙夌節椤喗瀚�
婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾鐎规洦鍓熼、娆撳礂閻撳簶鍋撻悽鍛婄厸闁割偅绻勫瓭婵犳鍣幏锟�
婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾闁哄苯鎳橀崺鈧い鎺嗗亾闁宠閰i獮鎴﹀箛闂堟稒顔嗛梻浣告惈鐎氭悂骞忛敓锟�
婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾鐎规洩缍侀獮瀣攽閸偂绱�
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓兼径濠勭厬闂佺懓鐡ㄧ换鍕敂鐎涙ü绻嗘い鏍殔婢у弶绻濋~顔藉
闂佽楠搁崢婊堝礈濠靛鍋嬮柟鎯版閻鈹戦悩鎻掓殭闁奸潧缍婇弻銈夋嚍閵夈儱顫嶉梺缁樼壄缂嶄礁鐣峰▎鎾存櫢闁跨噦鎷�
UB闂備礁婀辩划顖炲礉濡ゅ懐宓侀柛銉㈡櫆鐎氭岸鎮楀☉娅虫垿锝為敓锟�
闂備浇澹堟ご绋款潖婵犳碍鐒鹃悗鐢电《閸嬫捇鐛崹顔句痪濠电姭鍋撻柨鐕傛嫹
闂佽楠哥粻宥夊垂閸濆嫸鑰块柛銏㈠殰
闂備礁鎲″缁樻叏妞嬪海绀婂璺虹灱閸楁碍绻涢崱妤€顒㈤柛鐐差槹缁绘稓绱欓悩鍝勫帯闂佺ǹ楠忛幏锟�
缂傚倸鍊烽悞锕傛偡閿曞倸鍨傛繝濠傚椤╅攱銇勯幒宥囶槮缂佹彃婀遍埀顒傚仯閸婃繄绱撳棰濇晩闁跨噦鎷�
©2017 www.mb5u.com婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾鐎殿噮鍣i幃鈺呭箵閹烘挸鐦�
闂備浇銆€閸嬫捇鏌熼婊冾暭妞ゃ儻鎷�&闂備礁鎲$敮鎺懳涢弮鍫燁棅闁跨噦鎷�