一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

asp.net 的錯(cuò)誤處理機(jī)制講解

程序健壯性最基本要求就是程序錯(cuò)誤的處理與捕捉,在ASP.NET中,錯(cuò)誤的處理有和其他編程語(yǔ)言一樣的機(jī)制,可以使用Try…Catch…Finally等方式,這一點(diǎn)和ASP相比具有較大的進(jìn)步。而且,使用這些錯(cuò)誤處理方法,可以大大提高程序的可讀性和程序調(diào)試速度,在這幾個(gè)優(yōu)勢(shì)結(jié)合的情況下,我們更加應(yīng)該注意這一點(diǎn)。 
關(guān)于錯(cuò)誤的處理,我們可以參考這篇文章:

Try...Catch...Finally in ASP.NET

Introduction
Error handling in Classic ASP was not the best. We were having only limited options available for error handling in Classic ASP such as, "On Error Resume Next". In ASP 3.0 we saw the new ASP object called Error Object. But we were not able to handle all exception/errors efficiently. Now in ASP.NET we have a new error handling mechanism which was already their in other languages such as C, C++ and Java. We can also call the try...catch mechanism as "Exception Handling" 

What is Try...Catch....Finally
This is a new error handling mechanism in VB.NET, so as in ASP.NET. Well we have three blocks of code, were each block has it own functionality. The Try...Catch...Finally block of code surrounds the code where an exception might occur. The simple Try statement comes before the block of code, the Catch block of code is where we specify what type of error to look for, and the Finally block of code is always executed and contains cleanup routines for exception situations. Since the catch block is specific to the type of error we want to catch, we will often use multiple Catch blocks in our Try...Catch...Finally structure. 

A simple Database operation
Dim mySqlConnection as New SqlConnection (ConnectionString) 
Dim mySqlCommand as SqlCommand 
Dim strSql as String 

strSql = "insert into yourtable (f1, f2) values ('f1', 'f2')" 
mySqlCommand = new SqlCommand(strSql, mySqlConnection) 

Try 

mySqlConnection.Open() 
mySqlCommand.ExecuteReader(CommandBehavior.CloseConnection) 
Message.text = "New Forward information added" 

Catch SQLexc as sqlexception 

Message.text = Message.text + sqlexc.tostring() 

Catch exc as exception 

if Instr(1, exc.tostring, "duplicate key") > 0 then 
Message.text = Message.text + "Cannot insert duplicate values." 
else 
Message.text = Message.text + exc.tostring() 
end if 

Finally 

mySqlConnection.Close() 
End Try 


What does the above example exactly do?
Well, in the above example we were trying to insert some values to a database table. The possible chances while performing a database operation are invalid connection string, database server too busy resulting in connection time out, database server not currently running etc etc. We should anticipate all these errors while performing a database operation. So, we have a Try block, which contains the statements such as opening the connection and executing the operation. Basically, we have two major statements inside the try block which may result in an exception/error. 

As I said, any exception can occur during a database operation. Catching all these exception is now very easy with the Catch block. All we need is to have a Catch block. We can have any number of Catch blocks. Each Catch block may have a different error/exception trapping mechanism. In the above example, we have two catch blocks, one which captures a general exception and the other one which traps the SqlException. 

When all the statements inside the catch blocks are executed, the finally block comes into the picture. As I said earlier, finally block contains cleanup routines for exception situations. 

Exit Try statement
We can also have the Exit Try statement inside any of the try...catch block. The objective of this statement is to break out of the Try or Catch block. Once the Exit Try statement is executed, the control goes to the Finally block. So, Exit Try statement can be best used were we need to execute the cleanup routines. 

How about nested Try statments?
We can have nested Try and Catch blocks. Can you imagine, when we should use nested try statements. Well, errors can occur within the Catch portion of the Try structures, and cause further exception to occur. The ability to nest try structures is available so that we can use a second Try structure to cover exceptions. 

Links
http://www.vbweb.co.uk/show/1889/2/ http://www.oreillyNET.com/pub/a/dotNET/2001/09/04/error_handling.html?page=2

AspNet技術(shù)asp.net 的錯(cuò)誤處理機(jī)制講解,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 91网站国产 | 激情五月婷婷色 | 欧美另类xxx精品人妖 | 免费在线观看黄色小视频 | 欧美一区二区久久精品 | 加勒比精品 | 国产午夜精品久久久久小说 | 好吊妞视频这里只有精品 | 久久久一区二区三区 | 色视频哟女在线观看 | 天天综合网网欲色 | 欧美特黄特刺激a一级淫片 欧美特黄特色aaa大片免费看 | 欧美激情乱人伦 | 亚洲国产精品婷婷久久久久 | 伊人久久中文大香线蕉综合 | 国产精品第 | 伊人激情网 | 天天色综合久久 | 尤物yw午夜国产精品视频 | 天天在线综合网 | 尤物yw午夜国产精品视频 | 色爱区综合 | 欧美一区二区三区综合色视频 | 精品72久久久久久久中文字幕 | 欧美成人福利 | 一二三四在线播放免费视频中国 | 亚洲一区小说区中文字幕 | 色天天天天| 国产在线播放91 | 亚洲国产一区在线 | 欧美一级久久久久久久久大 | 99爱视频99爱在线观看免费 | 亚洲国产婷婷综合在线精品 | 成人精品国产亚洲欧洲 | 天堂成人在线观看 | 玖玖国产在线 | 国产综合精品久久亚洲 | 欧美一级一一特黄 | 91高清视频 | 992tv又爽又黄的免费视频 | 中文字幕一区二区三区视频在线 |