我想在不创建异常变量的情况下使用其他数据抛出异常。像这样:
throw new Exception() { Data.Add("foo", "bar") };
有可能吗?
答案 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());