zoukankan      html  css  js  c++  java
  • 异常处理分析

     1  class Program
     2     {
     3         static void Main(string[] args)
     4         {
     5             Console.WriteLine(GetValue());
     6             Console.ReadLine();
     7         }
     8 
     9         static int GetValue()
    10         {
    11             int a = 1; // 1 or 0
    12             int b = 1;
    13             int aa = 10;
    14             try
    15             {
    16                 int c = b / a;
    17                 return aa;
    18             }
    19             catch (DivideByZeroException e)
    20             {
    21             }
    22             finally
    23             {
    24                 aa = 20;
    25             }
    26             return 2;
    27         }
    28     }

    1.异常没有发生,最后的输出结果为10。执行c=b/a;,返回aa的值10。在返回到调用代码前执行finally块。执行finally块中的语句给aa赋值20,这个20不影响返回的值10。return 2;不会执行。

     1     class Program
     2     {
     3         static void Main(string[] args)
     4         {
     5             Console.WriteLine(GetValue());
     6             Console.ReadLine();
     7         }
     8 
     9         static int GetValue()
    10         {
    11             int a = 0; // 1 or 0
    12             int b = 1;
    13             int aa = 10;
    14             try
    15             {
    16                 int c = b / a;
    17                 return aa;
    18             }
    19             catch (DivideByZeroException e)
    20             {
    21             }
    22             finally
    23             {
    24                 aa = 20;
    25             }
    26             return 2;
    27         }
    28     }

    2.异常发生,return aa;不会执行,执行catch块之后再执行finally块。一直没有返回语句,会接着执行后续代码,遇到return 2;才返回到调用代码,最后得到返回值2。

    去掉return 2;会存在没有返回语句的支路而出现编译错误。这个支路就是异常发生时的情况。

  • 相关阅读:
    Go源码文件与命令
    K8s控制器
    odoo 在form视图sheet右上角增加按钮
    odoo 常用widget
    odoo tree视图中实现横向滚动条
    可能是智障的高二生活
    千题计划
    闲谈
    线性代数与simplex
    好题集锦
  • 原文地址:https://www.cnblogs.com/niaomingjian/p/3764490.html
Copyright © 2011-2022 走看看