none
从代码规范上来讲把抛异常的语句写在TRY里还是抛不抛异常的语句都写在TRY里 RRS feed

  • 问题

  • 1、在一个方法里,如果有很多处都有可能抛出异常,那么从代码规范上来讲,是把这些不管有没有抛异常的代码都写在TRY CATHC里还是哪个抛异常就把哪句写到TRY CATCH里

    2、点停止按钮后,如何让线程立即停止

    • 已编辑 那个小谁 2011年11月22日 6:10 增加一个问题
    2011年11月22日 5:45

答案

  • 第一问:建议把抛异常的语句写到try……catch……中。

    第二问:1)创建线程的时候设置IsBackGround=True,这样可以防止程序关闭了线程仍没有关闭。

               2)直接使用Suspend()暂停,Resume()继续。如果要终止线程,直接Abort()方法。

     


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2011年11月22日 7:59
    版主
  • try...catch...finally 是结构化异常处理语句。在 try...catch 之间的代码段表示您主观上预期这段代码可能会引发异常。因此,将最有可能引发异常的代码放在 try...catch 里面。

    更进一步,如果您有一段代码会引发异常,并且异常的类型可能不同,则需要多个 catch 子句。例如:

    try {
        SomeIOOperation();
        SomeComputeOperation();
    } catch (IOException) {
        SomeIOExceptionHandlingCode();
    } catch (InvalidOperationException) {
        SomeComputeExceptionHandlingCode();
    } catch (Exception) {
        SomeOtherExceptionHandlingCode();
        throw;
    }

    注意,不要用 catch 捕获 Exception 后把异常吞掉。这样,上层的代码就不会知道下层代码的异常,这样对调试和编码都不利。

    try 中的语句块一般不超过 20 行。


    Mark Zhou
    2011年11月22日 10:27

全部回复

  • 第一问:建议把抛异常的语句写到try……catch……中。

    第二问:1)创建线程的时候设置IsBackGround=True,这样可以防止程序关闭了线程仍没有关闭。

               2)直接使用Suspend()暂停,Resume()继续。如果要终止线程,直接Abort()方法。

     


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2011年11月22日 7:59
    版主
  • try...catch...finally 是结构化异常处理语句。在 try...catch 之间的代码段表示您主观上预期这段代码可能会引发异常。因此,将最有可能引发异常的代码放在 try...catch 里面。

    更进一步,如果您有一段代码会引发异常,并且异常的类型可能不同,则需要多个 catch 子句。例如:

    try {
        SomeIOOperation();
        SomeComputeOperation();
    } catch (IOException) {
        SomeIOExceptionHandlingCode();
    } catch (InvalidOperationException) {
        SomeComputeExceptionHandlingCode();
    } catch (Exception) {
        SomeOtherExceptionHandlingCode();
        throw;
    }

    注意,不要用 catch 捕获 Exception 后把异常吞掉。这样,上层的代码就不会知道下层代码的异常,这样对调试和编码都不利。

    try 中的语句块一般不超过 20 行。


    Mark Zhou
    2011年11月22日 10:27