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()被执行
>确定x的位置
> P()被执行
> N()被执行
> Q()被执行
> x的分配发生了
如果其中一个引发异常,则永远不会执行异常后发生的所有事情.
总结以上是内存溢出为你收集整理的分配变量C#时的异常处理全部内容,希望文章能够帮你解决分配变量C#时的异常处理所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)