我有一个愚蠢的问题我是gtksharp中的超级菜鸟monodevelp和我创建按钮时单击它将清除条目文本但monodevelop生成单击按钮功能:
throw new System.NotImplementedException ();
然后我写下这段代码:
entry1.Text = "";
当我建立它时,我收到了这个警告:
Warning CS0162: Unreachable code detected (CS0162)
那么代码是什么意思,没有这个例外,我想了解警告的意思 如果有人给我一些基本书籍或文档的链接来学习如何处理gtk#组件,那真的会有所帮助,谢谢你们。
答案 0 :(得分:2)
当你抛出异常程序停止并且后面的代码永远不会执行时,删除行:
throw new System.NotImplementedException ();
System.Exception类的注释为您提供了很多关于异常抛出和处理如何在.NET中工作的基本信息。
答案 1 :(得分:1)
您需要删除行throw new System.NotImplementedException ();
,因为您已通过将文本设置为空字符串提供了一些实现。
您收到警告的原因:Unreachable code detected (CS0162)
是因为您在第一行中抛出异常,然后将text属性设置为空字符串,这将永远不会被激活。就System.NotImplementedException而言,它是
请求的方法或操作时引发的异常 没有实施。
答案 2 :(得分:1)
正在抛出exception(即错误)。发生这种情况时,函数返回并查找堆栈以获取异常处理程序(try / catch)。如果找到一个,则处理异常并消失。如果没有处理,程序可能必须退出。
在这种情况下,throw new System.NotImplementedException ();
实际上意味着创建并发送名为System.NotImplementedException()
的错误。抛出此异常时,函数返回。所以,它之后什么都不会被调用。这是您的错误来源。
答案 3 :(得分:0)
从您的方法中删除此字符串:
throw new System.NotImplementedException ();
答案 4 :(得分:0)
这一行
throw new System.NotImplementedException ();
是自动生成的。它告诉开发人员您必须使用实际代码填充方法,而不是使用自动生成的代码块。 只需删除它并实现您的方法。
答案 5 :(得分:0)
检测到无法访问的代码意味着您的部分代码不会被执行。
由于您抛出异常,控件将在调用堆栈上向下传播到可以处理异常的级别。