引发新的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#组件,这将非常有助于感谢大家

引发新的System.NotImplementedException();之后无法访问代码;

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

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 ();

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

检测到不可访问的代码意味着部分代码将不会被执行。

由于抛出了异常,控件将在调用堆栈上向下传播到可以处理异常的级别。