当前位置: 首页 > 知识库问答 >
问题:

C#:抛出无效的表达式编译

郑博厚
2023-03-14
visitor.Queryable = queryable ?? throw new Exception("error message");

我使用的是4.5.2.NET框架。有什么想法吗?

共有1个答案

常嘉平
2023-03-14

这个特性只有在C#7.0之后才可用。请参见抛出异常下的C#7.0中的新功能。

如果您正在使用较旧的VS,并希望启用C7特性:请看一下如何在Visual Studio 2015中使用C7?如果不是在VS 2017。

如果您使用的是早期版本的C#编译器,由于错误,您必须使用??运算符,因为抛出不会返回右操作数值。正如C#文档所说:

var result = someObject ?? valueToAssignIfWasNull;
if(queryable == null)
{
    throw new Exception("error message");
}
visitor.Queryable = queryable;
 类似资料:
  • 我的表达式输入文件(出于测试目的,最后两个应该抛出两个异常): 我的实际输出: 显然,我希望前四个表达式像第一个表达式一样跟随,最后两个表达式显示我的异常消息,但我似乎不知道哪里出错了。

  • 在Camel(JBoss Fuse,特别是Spring DSL)中,我试图用Camel简单表达式读取布尔值。 ${body}是一个有效的非空POJO,'fielda'是另一个嵌套POJO,fieldb是一个布尔值。Fielda可以为空,但body不能为空。 当fielda为非null时,我能够读取值而不会出错。 从各种文档来源(Apache Camel Simple、JBoss Fuse)可以看出

  • 我想在插值中插入一个三元表达式,如下所示: 编译中使用的软件: 我使用了(Cmc是我的解决方案名称)。之后我得到了错误(第44行是上面给出的C#代码): 为什么我会得到这个?我认为我的代码是有效的。

  • 下面是我正在使用的正则表达式的最新版本,它抛出了错误“Invalid regular expression” XSD:正则表达式在位置4验证失败:当前选项设置不支持此表达式。 我在xsd文件中得到了这个异常,我正在message broker(IIB)中开发这个xsd。有谁能帮我解决这个问题吗?

  • 我尝试使用以下cron表达式添加CloudWatch计划事件: 我想每天一点钟触发这个事件。但是我总是得到以下错误: 保存规则dms unstage胫骨时出错。详细信息:参数ScheduleExpression无效。 这个cron表达式中有什么错误?

  • 我试图调试一个旧的jsp站点,所以我在运行Windows7的本地机器上安装了tomcat 7和Netbean IDE 7.2.1,并设置了一切。但是当我运行它时,我得到一个错误: SEVERE: Servlet.service()为servlet jsp抛出异常org.apache.jasper.JasperExcture: /pages/caselisting.jsp(行: 133,列: 35)