王尼玛 发表于 2014-11-16 19:15

C#中级开发原创教程第二课-异常处理

本帖最后由 王尼玛 于 2014-11-16 19:15 编辑

大家好,我是王尼玛。今天起我给大家讲解C#中级开发教程,本次是第二课。大家在课后有什么疑问可以跟帖留言,我会尽我所能来解答。毕竟众口难调,大家有什么建议也可以跟帖告诉我。
此教程为本人原创,转载请注明"吾爱汇编论坛王尼玛原创"
好了,废话不多说,开始今天的学习.

有朋友说不太明白我写的教程,其实编程这东西很简单,一个字,练!你光看我写的多半是一头雾水,因为你没实际跟着我讲的代码去操作,你要跟着我的代码敲,多敲代码,多练习我给的例子,再配合我例子后面的讲解,自然就明白我讲的是什么了.还不明白?跟帖问吧


在浏览网上信息时,有时因为网络不通,或者网站无法访问,我们无法获得指定网页的内容.同样,应用程序访问数据库时也不会总是一帆风顺的,可能因为数据库服务器没有开启或网络不通导致应用程序无法与数据库建立连接,此时应用程序就会出现意外错误
程序员编写应用程序难免会发生错误,有的错误是编译时产生的,这就是编译错误,有的错误是在程序运行的过程中出现的,这种错误就是异常,为了保证程序正常运行,程序员要对程序运行中可能发生的错误进行编码处理,这就是异常处理


一.如何处理异常


.Net提供了try-catch语句块来捕获和处理异常
语法:
try
{
    //包含可能出现异常的代码
}
catch(处理的异常类型)
{
   //处理异常的代码
}try-catch语句是把可能出现异常的代码放在try块中,如果在程序运行过程中发生了异常,就会跳转到catch块中进行错误处理,这个过程叫做捕获了异常.如果程序执行没有发生异常,那么将会正常执行try块中的全部语句,但不会执行catch块中的语句

异常也有很多种类型,本课我们只关注Exception类这是.Net提供的一个异常类,表示应用程序在运行时出现的错误
比如,可以把操作数据库的代码放在try块里面
try
{
    conn.Open();
    //.....省略其他操作
    conn.Close();
}
catch(Exception ex)
{
    //错误处理代码
}学过数据库的朋友应该知道,数据库连接必须显示关闭.但是,如果在数据库连接关闭之前就出现了异常,程序就会跳到catch块里,那么try块当中的数据库连接关闭方法就不会执行,这时应该怎么办呢?这个问题.Net早就想到了,他提供了一个finally块,无论是否发生异常,出现在finally块中的语句都会执行.这样就可以把关闭数据库连接的语句写在finally块中
try
{
conn.Open();
//.....省略其他操作
}
catch(Exception ex)
{
//错误处理代码
}
finally
{
conn.Close();
}
这样就确保了无论程序是否发生异常,在程序结束之前都会关闭数据库连接
注意:
程序在执行了try块或catch块之后总会将控制权传递给finally块,与try块的退出方式无关

这节课就到这,是不是很简单




Shark恒 发表于 2014-11-16 19:25

短小精湛!赞一个,感谢尼玛~~

label 发表于 2014-11-16 20:26

怎么感觉 C#的异常 和JAVA的异常一个样~~
   编程这东西 真的就是靠多练习多放错 进步才快~~ 看的在多 还不如敲一遍来的实在

柠檬狗丶 发表于 2014-11-16 22:38

支持原创~{:6_203:}

王尼玛 发表于 2014-11-17 15:28

label 发表于 2014-11-16 20:26
怎么感觉 C#的异常 和JAVA的异常一个样~~
   编程这东西 真的就是靠多练习多放错 进步才快~~ 看的在多 ...

C#和Java很多语法都相似的,

Scar-疤痕 发表于 2014-11-17 23:58

感谢楼主分享!!

Flyfire 发表于 2014-11-18 21:57

C#,感觉应该是大势所趋,.net好像开源了

520Kelly 发表于 2014-11-19 13:50

我现在想问下c#和net的区别、、

王尼玛 发表于 2014-11-19 16:23

520Kelly 发表于 2014-11-19 13:50
我现在想问下c#和net的区别、、

C#是基于.net框架的语言,

雾里看花 发表于 2014-11-20 17:31

c好久没碰都忘记 现在重新学 有什么推介的书籍和c语言软件吗- -
页: [1] 2
查看完整版本: C#中级开发原创教程第二课-异常处理