分配变量C#时的异常处理
发布时间:2020-12-15 20:53:21 所属栏目:百科 来源:网络整理
导读:在处理项目时,我意识到我真的不知道C#(我在谷歌上也找不到任何关于它的东西).如果为变量赋值(已使用默认值初始化),并且该值由另一个方法创建,则在另一个方法中获得异常会发生什么.为了澄清,这里有一个例子: eType = defaultvalue;...eType = (EReaderType)E
在处理项目时,我意识到我真的不知道C#(我在谷歌上也找不到任何关于它的东西).如果为变量赋值(已使用默认值初始化),并且该值由另一个方法创建,则在另一个方法中获得异常会发生什么.为了澄清,这里有一个例子:
eType = defaultvalue; ... eType = (EReaderType)Enum.Parse(typeof(EReaderType),tXmlNode.InnerText,true); 如果Enum.Parse无法解析值(Xml中的字符串,这里不重要……)并抛出异常会发生什么? eType会保留其默认值,还是会被其他东西重新分配(null或某些未定义的blabla)?到目前为止,我的测试显示它将保留旧值.但是,我不确定这是否会一直有效,或者是不是偶然的.简单地说,我不知道C#如何处理这些东西. 编辑:好的,非常感谢所有答案:) 解决方法
推理它的正确方法是:
>子表达式的副作用从左到右执行. 假设你有: M().x = N(P()).Q(); // x is a variable 事情发生的顺序是: > M()被执行 如果其中一个引发异常,则永远不会执行异常后发生的所有事情. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |