Visual C++ .NET/Development/Exception

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Exception source and email address

<source lang="csharp">

  1. 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);
  }

}

 </source>


Extends Exception class to create custom exception

<source lang="csharp">

  1. 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!");
    }

}

 </source>