引发新的System.NotImplementedException();之后无法访问代码;
本文关键字:之后 代码 访问 System NotImplementedException | 更新日期: 2023-09-27 17:59:14
我有一个愚蠢的问题,我是gtksharp中的超级noob,有monodevelp和我创建按钮,点击时它将清除输入文本,但monodevelt在点击按钮功能内生成:
throw new System.NotImplementedException ();
然后我写下这个代码:
entry1.Text = "";
当我构建它时,我得到了这个警告:
Warning CS0162: Unreachable code detected (CS0162)
那么,代码在没有这个异常的情况下工作意味着什么呢?我想了解警告的含义如果有人给我一些基本书籍或文档的链接,让我学习如何处理gtk#组件,这将非常有助于感谢大家
当抛出异常时,程序停止,之后的代码将永远不会执行,删除行:
throw new System.NotImplementedException ();
关于System.Exception类的注释为您提供了许多关于异常抛出和处理在.NET.
您需要删除行throw new System.NotImplementedException ();
,因为您已经通过将文本设置为空字符串提供了一些实现。
收到警告:Unreachable code detected (CS0162)
的原因是,您在第一行中抛出异常,然后将text属性设置为空字符串,这将永远不会被执行。就System.NotImplementedException而言,它是
当请求的方法或操作为未执行。
正在引发异常(即错误)。当这种情况发生时,函数返回并在堆栈中查找异常处理程序(try/catch)。如果它找到了一个异常,则会处理该异常并使其消失。如果不进行处理,程序可能不得不退出。
在这种情况下,throw new System.NotImplementedException ();
实际上意味着创建并发送名为System.NotImplementedException()
的错误。当抛出此异常时,函数将返回。所以,之后什么都不会被调用。这就是您的错误来源。
从方法中删除此字符串:
throw new System.NotImplementedException ();
此行
throw new System.NotImplementedException ();
是自动生成的。它告诉开发人员,您必须使用实际代码填充方法,而不是使用自动生成的代码块。只需删除它并实现您的方法。
检测到不可访问的代码意味着部分代码将不会被执行。
由于抛出了异常,控件将在调用堆栈上向下传播到可以处理异常的级别。