using System;
using System.Collections;
public class MyException : Exception
{
public MyException( String reason, Exception inner ) :base( reason, inner ) {
}
}
public class MainClass
{
static void Main() {
try {
try {
ArrayList list = new ArrayList();
list.Add( 1 );
Console.WriteLine( "Item 10 = {0}", list[10] );
}
catch( ArgumentOutOfRangeException x ) {
throw new MyException( "I'd rather throw this",x ) ;
}
finally {
Console.WriteLine( "Cleaning up..." );
}
}
catch( Exception x ) {
Console.WriteLine( x );
Console.WriteLine( "Done" );
}
}
}
Cleaning up...
MyException: I'd rather throw this ---> System.ArgumentOutOfRangeException: Index was out of range.
Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Collections.ArrayList.get_Item(Int32 index)
at MainClass.Main()
--- End of inner exception stack trace ---
at MainClass.Main()
Done