이 같은 간단한 클래스, 뭔가있어 : 나는 간단한 생성자를 실행 해요IndexOutOfRange 생성자에서 C#
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가 예 = myClass가 (5); 나는 오류가있다. 새 개체를 만들지 않고 생성자를 떠나지 않아야합니까?
나는 던지기가 어떻게 작동하는지 이해하지 못합니다.
편집 : 죄송합니다. 실수를했습니다. if 부분에는 stringArray.Length -1이 있어야합니다.
이것은 중복되지 않습니다. OP는 코드에 유형이 있으며 도움이 필요합니다. –
예외가 던져진 이유 또는 생성자에서 예외를 throw하면 개체가 초기화되지 않는 이유를 이해할 수 없습니까? – juharr
난 그냥 그런 식으로하고 싶습니다 : myClass example = myClass (1); -> 괜찮아, 내 물건을 가지고있다. myClass example = myClass (5); -> 콘솔에 쓰기 오류. – user3692826