您的位置:程序门 -> .net技术 -> c#



关于try----catch----finally---问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


关于try----catch----finally---问题[已结贴,结贴人:zouqiang122]
发表于:2007-03-29 11:12:23 楼主
在函数体内...我使用try----catch----finally
如果我在try{return;}请问在finally{}中的语句还能执行不?
谢谢各位了...
发表于:2007-03-29 11:17:421楼 得分:0
执行!
发表于:2007-03-29 11:18:002楼 得分:0
肯定执行!
发表于:2007-03-29 11:21:293楼 得分:0
finally{}是不管上面try{}catch{}结果如何都执行的
发表于:2007-03-29 11:23:114楼 得分:0
但我在try{}时写上return;整个函数已经不执行了..
发表于:2007-03-29 11:27:545楼 得分:5
finally是在try或catch之后执行的,所以你的try中加return的结果是直接使try结果,然后执行finally,这两个部分没有干扰的。
发表于:2007-03-29 11:32:046楼 得分:0
是执行的
你可以简单的做个测试就可以了
发表于:2007-03-29 11:44:097楼 得分:0
执行。tjvictor(终于升星了,向两星奋斗)   说得很明白。
发表于:2007-03-29 12:34:258楼 得分:0
zouqiang122(先天不足)   (   )   信誉:100         blog     2007-03-29   11:23:11     得分:   0    
 
 
      但我在try{}时写上return;整个函数已经不执行了..
   
 

扯淡!

发表于:2007-03-29 12:42:569楼 得分:0
finally连exception都能抓住,别说正常的return了。
发表于:2007-03-29 12:49:2310楼 得分:5
catch   用于处理语句块中出现的异常,而   finally   用于保证代码语句块的执行,与前面的   try   块的退出方式无关。
发表于:2007-03-29 13:30:2611楼 得分:0
发表于:2007-03-29 13:31:1412楼 得分:10
finally   块用于清除   try   块中分配的任何资源,以及运行任何即使在发生异常时也必须执行的代码。控制总是传递给   finally   块,与   try   块的退出方式无关。

备注
catch   用于处理语句块中出现的异常,而   finally   用于保证代码语句块的执行,与前面的   try   块的退出方式无关。

示例
在此例中,有一个导致异常的无效转换语句。当运行程序时,您收到一条运行时错误信息,但   finally   子句仍继续执行并显示输出。  

    复制代码  
//   try-finally
using   system;
public   class   mainclass
{
        static   void   main()
        {
                int   i   =   123;
                string   s   =   "some   string ";
                object   o   =   s;

                try
                {
                        //   invalid   conversion;   o   contains   a   string   not   an   int
                        i   =   (int)o;
                }
                finally
                {
                        console.write( "i   =   {0} ",   i);
                }
        }
}
 

注释
上面的示例将导致引发   system.invalidcastexception。

尽管捕捉了异常,但仍会执行   finally   块中包含的输出语句,即:

i   =   123  

有关   finally   的更多信息,请参见   try-catch-finally。

c#   语言规范
有关更多信息,请参见   c#   语言规范中的以下各章节:

5.3.3.14   try-finally   语句

8.11   try   语句

16   异常

请参见
任务
如何:显式引发异常

参考
c#   关键字
the   try,   catch,   and   throw   statements
异常处理语句(c#   参考)
throw(c#   参考)
try-catch(c#   参考)

概念
c#   编程指南

其他资源
c#   参考


快速检索

最新资讯
热门点击