请教大家:
我每次连接数据库的时候都要用
try{}
catch{}
finall {}
语句吗?这样显得太繁琐,如果保证是对的可否不写呢?
还有就是 我看到网上写的代码
datareader 需要try catch finall
而dataadapter不是要,请解释下!

解决方案 »

  1.   

    答案是不一定。try...catch一般用于两种情况:1、在异常时保证资源的释放或状态的恢复;2、不需要把异常暴露到外部时才用,例如不想让用户看到没有处理的异常显示。
      

  2.   

    1、如果你做的是服务器或后台运行程序,为了防止有自己未注意的错误导致程序中止,一定要加上。
    2、如果你做的是客户端程序,而且是自己用的,不需要加。
    3、如果你做的是客户端程序,给客户用的,最好加上,然后显示一个用户可以理解的出错信息,再将真实的错误写到log文件里面。
      

  3.   

    可不加。
    在应用程序的最上层,对系统未捕获异常进行处理即可。
    如:http://blog.csdn.net/luminji/archive/2010/01/16/5197996.aspx
      

  4.   

    1、如果你做的是服务器或后台运行程序,为了防止有自己未注意的错误导致程序中止,一定要加上。
    2、如果你做的是客户端程序,而且是自己用的,不需要加。
    3、如果你做的是客户端程序,给客户用的,最好加上,然后显示一个用户可以理解的出错信息,再将真实的错误写到log文件里面。
      

  5.   

    为什么只能引用一次呢?两个加起来就不行啦!CSDN没做的好!
      

  6.   

    不可能保证完全正确,因为这是与DBMS进行交互,即使代码写对,在运行时出现以为也会造成错误。比如:网速慢,数据库连接超时,这个是不能在代码中保证的。
    比如:数据库系统被人为或恶意代码破坏。如果不捕获异常,合理地处理异常,就会造成程序意外终止,内存未保存的数据会丢失;
    而捕获异常,最起码我们可以将内存中重要的数据保存成文件,以便下次启动软件后加载。
      

  7.   

    不可能保证完全正确,因为这是与DBMS进行交互,即使代码写对,在运行时出现意外也会造成错误。错别字,修正一下。
      

  8.   

    當你的程序需要與數據庫打交道時,使用Try。。Catch是必須的!!
      

  9.   

    using (你的链接)
    {
      Open 你的链接
      ... ...
    }
      

  10.   

    数据库操作使用try cath
    可以起到很好的异常处理作用
    出了问题你一看就明白是哪里出错了~
      

  11.   

    虽然不是很什么绝对的,如果你的程序经过多方面测试一定不会出错,而且为了代码的简洁好看,这时候你可以忽略掉他们, 但是我个人认为,这其实是一个隐患,没有一个程序是保证永远不会出错的,而且用了try catch finally 并不觉得就说,  代码不太好,不简洁什么的呀,更加增强了代码的可读性,可扩展性,完全是个人意见,不知道对不对, 希望大家不要喷我,  互相学习,互相进步。。
      

  12.   

    这东西也不一定是必须的。。不过在开发时有他的catch抛出异常还是很有用的。。其实很多公司。。就说明了不用try..catch..它其实也影响速度。。
      

  13.   

      最容易出现Bug的地方也就是数据访问层了。所以这个还是不要忽略。如果想简单一点的话,可以用
    using(){}啊。
      

  14.   

    try{}catch{}的本意是异常捕捉,即程序运行过程中遇到想不到的异常而如何处理。
    至于你说的dataAdapter和dataReader不一定非要使用try catch,从程序的逻辑上讲,还是需要使用的。finally一般在当中写些释放资源的代码,所以从这个意义上说,完全可以使用using语句。
      

  15.   

    是的。如果你只是要在finally里面做dispose的话, 可以用using语句。
      

  16.   

    托管代码操作非托管资源时,如数据库链接操作,文件操作,用try catch是必须呢,因为你不知道会发生什么异常而导致你的程序出错。用完一定要释放资源,close(),放到finally里是保证发生异常也会关闭资源你也可以用using(SqlConnection conn=new SqlConnection(strConn))
             {
                 //这种可以不用close,因为用完using会自己关闭的
             }
      

  17.   

    try{}
    catch{}
    finall {}
    只是将可能发生的异常捕获,如果不写的话,在运行的时候如果出现异常,系统将抛出,这将终止!
    如捕获的话,还可继续运行!安全期间,对危险代码最好是捕获的好!
      

  18.   

    1、如果你做的是服务器或后台运行程序,为了防止有自己未注意的错误导致程序中止,一定要加上。
    2、如果你做的是客户端程序,而且是自己用的,不需要加。
    3、如果你做的是客户端程序,给客户用的,最好加上,然后显示一个用户可以理解的出错信息,再将真实的错误写到log文件里面。
    其实这个并没有规定,只是编程的一种习惯,考虑问题的周到。需要自己平常多去窜摸,多去发现,领域它的优点。