Visual C++ .NET/Development/Exception

Материал из .Net Framework эксперт
Версия от 12:04, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Exception source and email address

 
#include "stdafx.h"
using namespace System;
int main()
{
   try
   {
       bool error = true;
       // other code
       if (error)
       {
           throw gcnew Exception("XYZ");
       }
   }
   catch( Exception^ exception)
   {
       Console::WriteLine("Exception Source property {0}", exception->Source);
       Console::WriteLine("Exception StackTrace property {0}",
          exception->StackTrace);
   }
}


Extends Exception class to create custom exception

 
#include "stdafx.h"
using namespace System;
ref class MyException : Exception
{
   public:
    virtual property String^ Message
    {
        String^ get() override
        {
           return "You must supply a command-line argument.";
        }
    }
};
int main(array<String^>^ args)
{
     try
     {
         if (args->Length < 1)
         {
            throw gcnew MyException();
         }
         throw gcnew Exception();
     }
     catch (MyException^ e)
     {
           Console::WriteLine("MyException occurred! " + e->Message);
     }
     catch (Exception^ exception)
     {
           Console::WriteLine("Unknown exception!");
     }
}