private static void Main0() { // alternative version of the above // create a basic account var mine2 = new BankAccount("My2ndAccount"); // run transactions mine2.RunTrans(); // create a proper account var mine2Ovdft = new ProperBankAccount("My2ndProperAccount") { Overdraft = 250 }; // run transactions mine2Ovdft.RunTrans(); // create a proper account var foreign = new ForeignCurrencyAccount("ProperBankAccount", "EUR", 0.80) { Overdraft = 50 }; // run transactions foreign.RunTrans(); try { Console.WriteLine("Trying to withdraw 300"); mine2Ovdft.Withdraw(300); } catch (InsufficientBalanceException e) { Console.WriteLine("InsufficientBalance {0} for withdrawl of {1}", mine2Ovdft.GetBalance(), 300); } Console.WriteLine("Balance of mineOvdft {0}", mine2Ovdft.GetBalance()); mine2Ovdft.ShowAccount(); }