CS1003 语法错误,预期 'when'
CS1003 Syntax error, 'when' expected
我阅读 C# 6.0 中的异常过滤器已经有一段时间了
我想尝试在行动中使用它。但不确定为什么会出现以下错误。
CS1003 Syntax error, 'when' expected C_6.0
这是我的代码片段的样子
using System;
using static System.Console;
namespace C_6._0
{
public class Program
{
static void Main(string[] args)
{
int val = 1;
try
{
WriteLine("Enter value :");
val = int.Parse(ReadLine());
}
catch (Exception ex) if (val == 0)
{
WriteLine("Input Invalid");
}
catch (Exception ex)
{
WriteLine(ex.Message);
}
ReadLine();
}
}}
我通过
检查了 C# 的版本,它在我的 visual studio 中是 6.0
属性 -> 构建 -> 高级构建设置
谢谢。
使用when
代替if
catch (Exception ex) when (val == 0)
许多在线链接确实表明 if
应该是正确的,但现在已不再正确。过滤异常的语法是 when
而不是 if
:
try
{
// Code here
}
catch (Exception ex) when (val == 0)
{
WriteLine("Input Invalid");
}
您评论的文章已过时。正如 mjwills 所提到的,原因是在 Visual Studio 2015 CTP 的早期版本中,使用了 if 关键字而不是 when.
异常过滤以前使用 if
(在 CTP 中)但现在使用 when
.
catch (Exception ex) when (val == 0)
This blog entry 状态:
Note: In previous versions of the Visual Studio 2015 CTP, the if
keyword was used instead of when.
我阅读 C# 6.0 中的异常过滤器已经有一段时间了
我想尝试在行动中使用它。但不确定为什么会出现以下错误。
CS1003 Syntax error, 'when' expected C_6.0
这是我的代码片段的样子
using System;
using static System.Console;
namespace C_6._0
{
public class Program
{
static void Main(string[] args)
{
int val = 1;
try
{
WriteLine("Enter value :");
val = int.Parse(ReadLine());
}
catch (Exception ex) if (val == 0)
{
WriteLine("Input Invalid");
}
catch (Exception ex)
{
WriteLine(ex.Message);
}
ReadLine();
}
}}
我通过
检查了 C# 的版本,它在我的 visual studio 中是 6.0属性 -> 构建 -> 高级构建设置
谢谢。
使用when
代替if
catch (Exception ex) when (val == 0)
许多在线链接确实表明 if
应该是正确的,但现在已不再正确。过滤异常的语法是 when
而不是 if
:
try
{
// Code here
}
catch (Exception ex) when (val == 0)
{
WriteLine("Input Invalid");
}
您评论的文章已过时。正如 mjwills 所提到的,原因是在 Visual Studio 2015 CTP 的早期版本中,使用了 if 关键字而不是 when.
异常过滤以前使用 if
(在 CTP 中)但现在使用 when
.
catch (Exception ex) when (val == 0)
This blog entry 状态:
Note: In previous versions of the Visual Studio 2015 CTP, the if keyword was used instead of when.