本人初学asp.net,看到别人的代码里面(vb.net)基本所有的函数里面的程序段都在try下面,我原来记得好像vc下面的catch异常在release下面是没有用的,我现在在asp.net下面的tryCatch ex As Exception后面弹出的对话框在release之后是不是没有用阿,请高人指点 顺便问一下release必要性高吗?
那么说是我记错了,那在asp.net里面,函数里面的编程习惯就是 try 程序段 catch 异常处理 end try 是吗?
1、结构化异常处理:: try ........... catch ............ flnally ................ end try 其中Catch的结构有三种:Catch、Catch...As 和 Catch...When。其中Catch...As 和 Catch...When 子句捕捉特定的异常,并允许相关的语句块指定应用程序如何处理。 例:(登录界面部分代码) Dim sqlconn as New sqlcliet.sqlconnection(configurationsettings.appsettings("connectionstring")) Dim select_string as string="select * from user where user_name='" & trim(user_name.text) & "' and user_pwd='" & trim(user_pwd.text) & "' " Dim select_comm as New sqlclient.sqlcommand(select_string,sqlconn) Dim select_reader as sqlclient.sqldatareader try sqlconn.open() select_reader=selec_comm.executereader(commandbehaviorcloseconnection) if select_reader.read()=true then dim username as string session("username")=trim(user_name.text) response.redirect("mian.aspx") select_reader.close() sqlconn.close() else response.write("<script langusge='javascript' runat='server'>window.alert('用户名或密码错误错误!')</script>") end if catch sqlexc as execption response.write("错误发生!"&sqlexc.tostring()) finally if not select_reader is nothing then select_reader.close() end if 2、非结构化异常处理:通过Error对象及On Error、Resume和Error三种语句实现。 例: On Error Resume Next Err.Clear Err.Raise(33333) Err.Description = "您没有输入数字!" MsgBox(Err.Number) MsgBox(Err.Description)
try
程序段
catch
异常处理
end try
是吗?
try
...........
catch
............
flnally
................
end try
其中Catch的结构有三种:Catch、Catch...As 和 Catch...When。其中Catch...As 和 Catch...When 子句捕捉特定的异常,并允许相关的语句块指定应用程序如何处理。
例:(登录界面部分代码)
Dim sqlconn as New sqlcliet.sqlconnection(configurationsettings.appsettings("connectionstring"))
Dim select_string as string="select * from user where user_name='" & trim(user_name.text) & "' and user_pwd='" & trim(user_pwd.text) & "' "
Dim select_comm as New sqlclient.sqlcommand(select_string,sqlconn)
Dim select_reader as sqlclient.sqldatareader try
sqlconn.open()
select_reader=selec_comm.executereader(commandbehaviorcloseconnection)
if select_reader.read()=true then
dim username as string
session("username")=trim(user_name.text)
response.redirect("mian.aspx")
select_reader.close()
sqlconn.close()
else
response.write("<script langusge='javascript' runat='server'>window.alert('用户名或密码错误错误!')</script>")
end if
catch sqlexc as execption
response.write("错误发生!"&sqlexc.tostring())
finally
if not select_reader is nothing then
select_reader.close()
end if
2、非结构化异常处理:通过Error对象及On Error、Resume和Error三种语句实现。
例:
On Error Resume Next
Err.Clear
Err.Raise(33333)
Err.Description = "您没有输入数字!"
MsgBox(Err.Number)
MsgBox(Err.Description)
顺便问一下debug和release编译得到的版本速度差别大吗?
debug和release 的速度差异要看程序本身,以及编译时候的优化方式,差别大不大不好说,有的可能很大,有的可能就很小