有没有办法内联初始化异常的数据?

时间:2011-07-19 12:19:11

标签: c# .net

我想在不创建异常变量的情况下使用其他数据抛出异常。像这样:

throw new Exception() { Data.Add("foo", "bar") };

有可能吗?

4 个答案:

答案 0 :(得分:7)

看起来你应该可以用:

throw new Exception { Data = { { "foo", "bar" } } };

(假设你正在使用C#3,它有集合初始值设定项......)

当然,您可以结合构造函数参数执行此操作:

throw new ArgumentException("paramName") { Data = { { "foo", "bar" } } };

答案 1 :(得分:0)

不幸的是,你不能使用对象初始化器来调用这样的方法。

答案 2 :(得分:0)

它有一个parametrized constructor字符串;

  throw new Exception("Hello World");

答案 3 :(得分:0)

问题不是很清楚(即什么是数据类型......) 如果你的意思是你需要在Exception中加入一些信息:

throw new Exception (Data.Add("foo", "bar").ToString());