-1

我有一个愚蠢的问题,我在 gtksharp 中使用 monodevelp 是超级菜鸟,我在单击时创建按钮,它将清除输入文本,但 monodevelop 在单击按钮功能内生成:

throw new System.NotImplementedException ();

我在它之后写了这段代码:

entry1.Text = "";

当我构建它时,我收到了这个警告:

 Warning CS0162: Unreachable code detected (CS0162) 

那么代码在没有这个异常的情况下工作意味着什么我想了解警告的意思,如果有人给我一些基本书籍或文档的链接来学习如何处理 gtk# 组件,那真的很有帮助,谢谢你们

4

6 回答 6

3

当您抛出异常时,程序将停止并且之后的代码将永远不会执行,请删除以下行:

throw new System.NotImplementedException ();

System.Exception类的注释为您提供了相当多的基本信息,异常抛出和处理在 .NET 中是如何工作的。

于 2013-02-15T07:50:34.957 回答
1

您需要删除该行throw new System.NotImplementedException ();,因为您通过将文本设置为空字符串提供了一些实现。

您收到警告的原因:Unreachable code detected (CS0162)是因为您在第一行抛出异常,然后将 text 属性设置为空字符串,这将永远不会被执行。就System.NotImplementedException而言,它是

当请求的方法或操作未实现时引发的异常。

于 2013-02-15T07:49:49.293 回答
1

抛出异常(即错误)。发生这种情况时,函数返回并在堆栈中查找异常处理程序(try/catch)。如果它找到一个,则处理异常并消失。如果不处理,程序可能不得不退出。

在这种情况下,throw new System.NotImplementedException ();真正的意思是创建并发送名为System.NotImplementedException(). 当这个异常被抛出时,函数返回。所以,它之后什么都不会被调用。这是你错误的根源。

于 2013-02-15T07:56:04.697 回答
0

从您的方法中删除此字符串:

throw new System.NotImplementedException ();
于 2013-02-15T07:49:29.973 回答
0

这条线

throw new System.NotImplementedException ();

是自动生成的。它告诉开发人员您必须使用实际代码填充该方法,而不是使用自动生成的代码块。只需删除它并实施您的方法。

于 2013-02-15T07:51:08.703 回答
0

检测到无法访问的代码意味着您的部分代码不会被执行。

由于您已引发异常,因此控件将在调用堆栈上向下传播到可以处理异常的级别。

于 2013-02-15T07:53:39.513 回答