- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
将以下内容复制并粘贴到 VS 中的新控制台应用程序中。添加对 System.Web 和 System.Web.Services 的引用(我知道控制台应用程序不需要这些程序集,我只是向您展示一段在我的 Web 应用程序中不起作用的代码)。
虽然 if 语句中的两个条件都为假,但事实证明它为真。任何人都知道为什么? (Visual Studio 2008 9.0.30729.1).NET 3.5 SP1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Services;
using System.Web;
namespace ConsoleApplication8
{
class Program
{
static void Main(string[] args)
{
string x = "qweqweqw";
string y =
"{\"textMedia\":[-1,-1,-1,-1,-1],\"textOperand\":[1,1,1,1,1],\"textString\":[\"\",\"\",\"\",\"\",\"\"],\"dateSite\":[-11],\"dateOperand\":[],\"dateString\":[],\"status\":[-11,0,0],\"media\":[-11,0,0],\"subItem\":true,\"context\":false,\"branchSearch\":false,\"profileIDs\":[2,5,18],\"profileViewIDs\":[48,58,38],\"currentSelectedBranch\":0}";
SaveSearch(x, y);
}
[WebMethod]
public static object SaveSearch(string name, string encodedSearch)
{
object response = new { };
string x = name;
string y = encodedSearch;
// Why does this if statement throw an exception if both equal false?
if (x.Trim().Equals(string.Empty) || y.Trim().Equals(string.Empty))
throw new AjaxErrorException("Save Search", "Something went wrong", "JSFunction");
try
{
{
return new
{
error = false,
name = name,
userID = 123,
date = DateTime.Now
};
}
}
catch (Exception ex)
{
String e;
if (HttpContext.Current.IsDebuggingEnabled)
e = ex.Message + "\n\n" + ex.StackTrace;
else
e = "error error aliens approaching";
throw new AjaxErrorException("Save Search", e, "");
}
return response;
}
public class AjaxErrorException : System.Exception
{
public AjaxErrorException(string title, string details, string function)
: base(title)
{ }
string _stackTrace;
public override string StackTrace
{
get
{
return _stackTrace;
}
}
}
}
}
最佳答案
我实际上检查过,虽然调试器进入了 if(throw 语句)之后的语句,但它实际上并没有抛出异常。我怀疑这是 IDE、生成的 IL 和调试器之间的不一致,特别是对于 throw 语句。如果您尝试其他类型的语句,您实际上看不到问题。好像也和这篇文章有关 If statement weirdness in Visual Studio 2008
我在 if block 中插入了 assert 语句,如下所示,以确保没有触发断言。
System.Diagnostics.Debug.Assert(false);
关于c# - .net : debugger highlighting line of code not actually being executed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2421436/
我经常发现自己想要编写以下形式的通用类定义 public class Foo> 例如在这样的设置中: public interface ChangeHandler { public void
我有一些对象被放入队列中。队列中的所有对象都实现相同的基接口(interface),这也要求它们实现 IEquatable<>。 我想验证是否以正确的顺序将正确的对象放入队列中。 当我编写一个断言 C
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
我有一串数字和字符 c2 = "list of 2nd C2 H2O 1 12 123" 我需要删除所有实际数字,即 1、12、123,而不是那些属于字符集的数字,即 2nd、C2、H2O。 到目前为
git repo : django tutorial 我一直在关注上述 django 项目,该项目着眼于创建人与人之间的聊天。我遇到过这部分: def message_list(request, se
gitpod GitHub 页面说 Gitpod is an open-source Kubernetes application providing prebuilt,collaborative d
这是一个示例代码,我在这里抛出一个异常,由于某种原因,它在没有 try/catch 代码块的情况下工作得很好。 我是否必须在这个方法“EntryDelete”中处理这个问题或者我必须在调用该方法的地方
我的数据集中有以下列: id |用户 ID |开始日期 |结束日期 |检查日期 我想从第一列获取check_date,找到check_date在start_date和end_date。然后计算每个 u
简而言之: 在 pytorch 中使用 adadelta 优化器时,我无法绘制 lr/epoch 曲线,因为 optimizer.param_groups[0]['lr'] 总是返回相同的值。 详细说
假设我有以下 C 代码: int* vector = (int*)malloc(5 * sizeof(int)); malloc 返回一个空指针,因为不知道要求为什么分配空间。 因此,我们将 void
在 Java 中将形状渲染为其“实际大小”的简单方法是什么?例如,我有一个直径为 1"的 pipe ,我想在屏幕上将其描绘为 1"圆的轮廓。 Graphics2D 方法 drawOval(int x,
我阅读了很多关于 Node js 的文章,试图理解事件循环及其模式/反模式。许多作者没有提到的一件事是 Node 实际上处理线程。然而,应用程序程序员当然无法访问它们,但很高兴知道它们存在以及它们何时
什么mode:shim做? 我在这个网站上搜索了一种强制闪光的方法。代码开发人员针对遇到我所面临的确切问题的某个人的问题写了这个答案: MediaElement.js - force Chrome t
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭11 年前。 Improve th
在 C++03 中,我们有模板显式实例化定义 ( template class Foo ),它强制模板类的实例化。 在 C++11 中,我们有模板显式实例化声明 ( extern template c
我有一个相当复杂的联接的执行计划,它显示在表上执行索引查找,“实际行数”读数约为 70,000,而实际上表中总共只有约 600 行(估计行数仅为 127)。 请注意,所有统计信息都是最新的,并且查询的
我的学校作业涉及编写一个简单的网络爬虫来爬行维基百科。该作业规定我不能使用任何外部库,因此我一直在使用 java.net.URL 类。基于official tutorial以及我的教授给出的一些代码:
您好,我是集成测试新手。我的断言状态面临一些困难。 这是错误 java.lang.AssertionError: Status Expected :204 Actual :404 这是测试代码
我刚刚习惯 Subversion,并且有一个关于版本控制的基本问题。 我已在我的网络中托管的服务器“S”上创建了 SVN 存储库。假设我从网络中的另一台计算机“A”“导入”代码、文件、目录等,它会添加
我没能弄清楚 Spark SQL 连接操作实际上是如何工作的。我已阅读pretty massive explanation ,但它并没有阐明一些问题。 示例 例如,您有两个数据库表保存在 Spark
我是一名优秀的程序员,十分优秀!