class RangeArrayException : Exception
public RangeArrayException() : base()
public RangeArrayException(string message) : base(message)
public RangeArrayException(string message, Exception innerException) : base(message, innerException)
protected RangeArrayException(System.Runtime.Serialization.SerializationInfo info,System.Runtime.Serialization.StreamingContext context) : base(info, context)
public override string ToString()
public RangeArray(int low, int high)
throw new RangeArrayException("Low index not less than high.");
public int this[int index]
return a[index - lowerBound];
throw new RangeArrayException("Range Error.");
a[index - lowerBound] = value;
else throw new RangeArrayException("Range Error.");
private bool ok(int index)
if(index >= lowerBound & index <= upperBound)
public class RangeArrayDemo
public static void Main()
RangeArray ra = new RangeArray(-5, 5);
RangeArray ra2 = new RangeArray(1, 10);
Console.WriteLine("Length of ra: " + ra.Length);
for(int i = -5; i <= 5; i++)
Console.Write("Contents of ra: ");
for(int i = -5; i <= 5; i++)
Console.Write(ra[i] + " ");
Console.WriteLine("Length of ra2: " + ra2.Length);
for(int i = 1; i <= 10; i++)
Console.Write("Contents of ra2: ");
for(int i = 1; i <= 10; i++)
Console.Write(ra2[i] + " ");
catch (RangeArrayException exc)
Console.WriteLine("Now generate some range errors.");
RangeArray ra3 = new RangeArray(100, -10);
catch (RangeArrayException exc)
RangeArray ra3 = new RangeArray(-2, 2);
for(int i = -2; i <= 2; i++)
Console.Write("Contents of ra3: ");
for(int i = -2; i <= 10; i++)
Console.Write(ra3[i] + " ");
catch (RangeArrayException exc)