Liu阳 发表于 2013-10-13 23:38
这是因为Try语句的原因,通俗的讲究是我试着执行这段代码,如果在没给year初始化之前就报了异常怎么办呢,c ...
面朝大海,春暖 发表于 2013-10-14 07:58
因为你定义的year和输出语句 : Console.WriteLine(year)在同一级别,按照程序执行的顺序,不管你do里执 ...
Liu阳 发表于 2013-10-13 23:55
对的,就像一个人我试着干一下,有可能赚100W,你的投资人没等你干呢敢和别人说我已经赚了100W了吗?就是这 ...
宋清飞 发表于 2013-10-14 11:52
又仔细想了想你的说法,按照你的说法,那么flag也是未赋值的,也无法通过编译,可是实际上flag通过编译了 ...
Liu阳 发表于 2013-10-14 11:59
那是因为catch中的flag的问题,你把catch中的注释看一看,或者把year的初始赋值放在catch中,你看看你的c ...
张锟-i 发表于 2013-10-14 11:41
LZ,year 和 最后输出的 Console.WriteLine(year)在同一个级别内,不管你do
{
...
夏闯富 发表于 2013-10-14 12:09
为什么会提示:使用了未赋值的yaer
原因:主要是用了Try-catch的语句的原因(try语句里面的代码不会编译, ...
宋清飞 发表于 2013-10-14 12:31
那为什么int year;
try { year = 1; }
catch { year = 2; }
夏闯富 发表于 2013-10-14 12:36
我重新再写详细了一下,你看再理解么
宋清飞 发表于 2013-10-14 12:31
那为什么int year;
try { year = 1; }
catch { year = 2; }
宋清飞 发表于 2013-10-14 12:31
那为什么int year;
try { year = 1; }
catch { year = 2; }
1.png (53.81 KB, 下载次数: 91)
ˋ初°见 发表于 2013-10-14 12:59
当执行catch时,未给year赋值,只要把输出语句放到catch里面就可以了,这样就实现了当是数字时,就输出,不 ...
宋清飞 发表于 2013-10-14 11:50
如果按照你的说法,在Console.WriteLine(year);旁边再写一个Console.WriteLine(flag);这个flag也应该没 ...
面朝大海,春暖 发表于 2013-10-14 19:30
flag是bool类型,它的默认值是false或true,所以输出flag不会报错。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |