【发布时间】:2015-02-02 18:17:48
【问题描述】:
我有一个简单的类,像这样:
public class myClass
{
public static readonly string[] stringArray= { "one", "two" };
private string myString;
public myClass (int _index)
{
if(_index > (stringArray.Length - 1) || _index < 0)
{
throw new IndexOutOfRangeException("Bad index.");
}
else
{
myString = stringArray[_index];
}
}
}
我正在运行简单的构造函数:myClass example = myClass(5);我有错误。 它不应该在不尝试创建新对象的情况下离开构造函数吗?
我不明白 throw 在那里是如何工作的。
编辑:对不起,我犯了一个错误。 if 部分应该有 stringArray.Length -1。
【问题讨论】:
-
这不是重复的。 OP 在他的代码中有一个类型,他需要帮助。
-
你不明白为什么你的异常会被抛出,或者为什么在构造函数中抛出异常会导致对象无法初始化?
-
我只想要这样的东西:myClass example = myClass(1); -> 没关系,我有我的对象 myClass example = myClass(5); -> 在控制台中写入错误。
-
这里的问题是什么:为什么 myClass example = myClass(5);抛出异常?
标签: c#