异常

兴趣 保持新鲜 享受乐趣 品味成就   重复是保持兴趣的最大的障碍

我从2009年开始学习计算机知识,参加过传智播客学习班,目前简单的小程序,机子上跑不起来,很难说是兴趣了,是一个必须解决的问题。

异常是 语法没有问题,运行时发生错误

对象为null,对象为添加到引用,未将对象的实例设定到。。。

try{一旦出现异常,就停在该处,后面的代码不在运行}

catch(exception ex){捕获异常处理,省略此处代码还会捕获}

finally{总会执行不能包含return语句,没异常时,如果try有return语句在return之后执行,主要释放资源,写日志}

快速监视    表达式ex.stacktrace   值  stacktrace 文本可视化工具 显示异常层层抛出,总是向上抛向调用者抛,最后抛给操作系统。

 在异常发生中止所有的栈上的方法,让变量超出作用域,在方法多级嵌套中,直接寻找catch块。

F11单步调试验证执行过程。

namespace 异常
{/*方法中的本地变量在嵌套方法中赋值,出嵌套方法后,是否被改变    改变
  本地变量不能自动初始化,在使用前必须显示初始化 
  
  */
    /*类中的静态字段改变*/
    class Program
    {
        static void Main(string[] args)
        {
            int i = 3;//变量 值类型存在栈上
            string a = "123";//引用类型存在堆上
            string c = "a123";
            //  int s;//本地变量不能自动初始化 在try中赋值,编译出错Console.WriteLine(s.ToString());提示错误    2    使用了未赋值的局部变量“s”    I:\endsubmit\异常\Program.cs    36    31    异常
        
            int s=0 ;
            try
            {
              
                int b = int.Parse(a);//b只在try的作用域有效
                           s = int.Parse(a);
                               int d = int.Parse(c);
            }
            catch (Exception ex)
            {

                Console.WriteLine(ex.Message );
            }
            finally
            {
                Console.WriteLine("finally下面的代码不执行");
                Console.WriteLine(s.ToString());
                Console.ReadKey();
            
            }

            Console.WriteLine(s.ToString());//代码不执行
          Console.ReadKey();
            
        }
    }
}
原文地址:https://www.cnblogs.com/ggg34674/p/2575473.html