兴趣 保持新鲜 享受乐趣 品味成就 重复是保持兴趣的最大的障碍
我从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(); } } }