1. C++ / Говнокод #12979

    +16

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    try
    {
       Application->Initialize();
    }
    catch (...)
     {
          try
         {
            throw Exception("");
           }
       catch (Exception &exception)
       {
          Application->ShowException(&exception);
       }
     }

    Найдено в проекте написанном на Borland C++Builder :)

    Запостил: _Ru55_, 08 Мая 2013

    Комментарии (5) RSS

    • Што?
      Программа ловит ошибку, пытается выкинуть пустоту, при неудаче опять ловит ошибку и выдает текст...
      Мля, кресты... Объясните немного суть кода.
      Ответить
      • Application, очевидно, умеет показывать только Exception, да еще и по указателю
        для этого его было не обязательно еще раз кидать
        Ответить
        • Причем, кстати, Exception (видимо совместимый с дельфи), а не std::exception. Поэтому все экцепшены от стандартной либы идут лесом и показываются как странное пустое окно с одиноко стоящим красным крестом...
          Ответить
    • WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
      {
      	try
      	{
      		Application->Initialize();
      		Application->MainFormOnTaskBar = true;
      		Application->CreateForm(__classid(TForm1), &Form1);
      		Application->Run();
      	}
      	catch (Exception &exception)
      	{
      		Application->ShowException(&exception);
      	}
      	catch (...)
      	{
      		try
      		{
      			throw Exception("");
      		}
      		catch (Exception &exception)
      		{
      			Application->ShowException(&exception);
      		}
      	}
      	return 0;
      }

      Стандартный выхлоп багланда же
      Ответить

    Добавить комментарий