Multi Exception Handling
#include "stdafx.h" using namespace System; ref class LevelOneException : public ApplicationException{ public: LevelOneException( String ^err ); }; LevelOneException::LevelOneException(String ^err) : ApplicationException(err) { } ref class LevelTwoException : public LevelOneException{ public: LevelTwoException( String ^err ); }; LevelTwoException::LevelTwoException(String ^err) : LevelOneException(err) { } void main(){ for (int i = 0; i < 4; i++){ try{ if (i == 1) throw gcnew ApplicationException("\tBase Exception Thrown"); else if (i == 2) throw gcnew LevelOneException("\tLevel 1 Exception Thrown"); else if (i == 3) throw gcnew LevelTwoException("\tLevel 2 Exception Thrown"); }catch (LevelTwoException ^e2){ Console::WriteLine(e2->Message); Console::WriteLine("\tLevel 2 Exception"); } catch (LevelOneException ^e1) { Console::WriteLine(e1->Message); Console::WriteLine("\tLevel 1 Exception"); } catch (ApplicationException ^e) { Console::WriteLine(e->Message); Console::WriteLine("\tBase Exception"); } } }