国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

淺析ASP.Net之C#中的異常處理_.Net教程

2024-07-10 12:50:52
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

推薦:ASP.Net網(wǎng)絡(luò)數(shù)據(jù)庫(kù):連接到數(shù)據(jù)庫(kù)
1.使用數(shù)據(jù)庫(kù)MyFirstAccessDB 本實(shí)例使用的數(shù)據(jù)庫(kù)名稱(chēng)為MyFirstAccessDB,版本為Microsoft Access 2003中文版。該數(shù)據(jù)庫(kù)已經(jīng)在1.4.2節(jié)中創(chuàng)建。 2.創(chuàng)建新ASP.NET應(yīng)用程序 在Visual Studio .NET 2003集成開(kāi)發(fā)環(huán)境中創(chuàng)建新的ASP.NET Web應(yīng)用程序,命名為Examp

基礎(chǔ)知識(shí)

程序開(kāi)發(fā)中,數(shù)據(jù)流按照一定的規(guī)律進(jìn)行傳輸,如果用戶(hù)和程序之間的交互完全按照預(yù)定的效果運(yùn)行,程序不會(huì)出現(xiàn)問(wèn)題。可以假設(shè)所處理的數(shù)據(jù)都符合要求,通過(guò)界面作格式判定,所有資源都正確,但是為了系統(tǒng)的安全,需要處理存在的隱患,不能對(duì)數(shù)據(jù)安全抱有理想化的想法。

在ASP.NET中,錯(cuò)誤處理分為兩個(gè)層面:頁(yè)面輸入信息驗(yàn)證、CLR提供的結(jié)構(gòu)化錯(cuò)誤處理機(jī)制。

在頁(yè)面輸入信息判斷中,可以采用JavaScript、VBScript等腳本進(jìn)行判斷,也可以使用.NET 環(huán)境下帶有的Validation和正則表達(dá)式的方式將信息在提交執(zhí)行處理前,進(jìn)行格式判斷。格式判斷包括:網(wǎng)絡(luò)地址、電子信箱、輸入字符串長(zhǎng)短和輸入信息的數(shù)據(jù)類(lèi)型的判斷等。

結(jié)構(gòu)化異常處理是CLR的基礎(chǔ)部分,具有以下特點(diǎn):可以跨語(yǔ)言,異常可以在一種語(yǔ)言中引發(fā),在另外一種語(yǔ)言中捕捉處理;分層處理,一個(gè)異常可以包括另外一個(gè)異常,這意味著系統(tǒng)可以捕獲底層對(duì)象(如數(shù)據(jù)層和業(yè)務(wù)層)的異常,引發(fā)自己的異常,包含有底層對(duì)象的異常。這樣可以將異常進(jìn)行細(xì)致分類(lèi),使得異常更容易處理。

結(jié)構(gòu)化異常處理,一般要使用3部分代碼。

(1)Try:是程序中可能出現(xiàn)錯(cuò)誤的操作部分。

(2)Catch:是用來(lái)處理各種錯(cuò)誤的部分(可以有多個(gè))。必須正確排列捕獲異常的Catch子句,范圍小的Exception放在前面的Catch。即如果Exception之間存在繼承關(guān)系,就應(yīng)把子類(lèi)的Exception放在前面的Catch子句中。

(3)Finally 塊的代碼用來(lái)清理資源或執(zhí)行要在Try塊末尾執(zhí)行的其他操作(可以省略)。無(wú)論是否產(chǎn)生異常,F(xiàn)inally塊都會(huì)執(zhí)行。

結(jié)構(gòu)化異常處理

異常是在程序設(shè)計(jì)中無(wú)法避免的錯(cuò)誤,設(shè)計(jì)的程序必須能夠處理所有可能出現(xiàn)的錯(cuò)誤。所以要全面考慮異常處理,將一切可能出現(xiàn)異常的代碼都進(jìn)行try的捕捉,然后建立自己的異常處理機(jī)制,按照不同的異常情況進(jìn)行分類(lèi)處理。

異常產(chǎn)生的時(shí)候,需要知道是什么原因造成的錯(cuò)誤以及錯(cuò)誤的相關(guān)信息。根據(jù)實(shí)際情況拋出具體類(lèi)型的異常,然后建立捕捉機(jī)制,捕捉到異常時(shí)做出具體的處理。在編寫(xiě)代碼過(guò)程中,可以使用系統(tǒng)已定義的相關(guān)異常類(lèi)以及自定義的異常類(lèi)來(lái)實(shí)例化并拋出需要的異常。如一個(gè)不可能實(shí)現(xiàn)的接口,可以拋出System.NotSupportedExceptiion的異常來(lái)告訴接口的調(diào)用者。

在處理異常的時(shí)候,應(yīng)該將可處理的具體異常分別在catch 塊中作出相應(yīng)處理,否則程序?qū)⒔K止運(yùn)行。針對(duì)每一種異常,以不同方式處理,避免對(duì)所有異常做出一樣的處理。并且在異常產(chǎn)生時(shí),給用戶(hù)一個(gè)友好的提示(最終用戶(hù)對(duì)系統(tǒng)異常的具體內(nèi)容是不明白的,這就需要給出相關(guān)的信息提示和解決方案,或告訴聯(lián)系管理員等),并在可能的情況下給用戶(hù)提供選擇(確定和取消),讓用戶(hù)來(lái)決定系統(tǒng)的運(yùn)行方向。同時(shí),程序中要將異常做日志記錄。不是所有異常都是必須記錄的,例如一些可捕捉并且已經(jīng)安排程序進(jìn)行處理的異常就不需要記錄它。

分享:JSP和ASP.NET存儲(chǔ)過(guò)程的對(duì)比
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)到SQL Server數(shù)據(jù)庫(kù)主鍵的遷移過(guò)程,具體內(nèi)容請(qǐng)參考下文。 由于項(xiàng)目需要要將以前Oracle的數(shù)據(jù)庫(kù)轉(zhuǎn)化為SQL Server,今天利用SQL Server的DTD進(jìn)行數(shù)據(jù)庫(kù)的遷移,但導(dǎo)入以后發(fā)現(xiàn)只導(dǎo)入了表結(jié)構(gòu)和數(shù)據(jù),而表的一些主鍵約束都沒(méi)導(dǎo)過(guò)

共2頁(yè)上一頁(yè)12下一頁(yè)
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 邹城市| 鄂托克前旗| 德州市| 太仆寺旗| 溧阳市| 德保县| 庐江县| 肃北| 巢湖市| 剑河县| 大悟县| 资中县| 怀仁县| 巴里| 五峰| 扎赉特旗| 泽州县| 和政县| 永川市| 吴桥县| 仙桃市| 南靖县| 赤城县| 江津市| 且末县| 明光市| 独山县| 合作市| 华亭县| 资溪县| 大关县| 仁寿县| 筠连县| 石狮市| 华蓥市| 乌兰浩特市| 清原| 高雄县| 宁德市| 博白县| 赫章县|