Информация об изменениях

Сообщение Re: Про двойной перехват исключений в DLL (как бы эстетичнее от 16.11.2020 23:00

Изменено 16.11.2020 23:28 ononim

Re: Про двойной перехват исключений в DLL (как бы эстетичнее офо
D> }
D> catch (my::exception & ex) {
D> g_dll.init_exception(ex);
D> throw;
D> }
D> catch (std::exception & ex) {
D> g_dll.init_exception(ex);
D> throw;
D> }
1) зачем нужно g_dll.init_exception?
2) если оно прям таки нужно (нет), почему бы my::exception не отнаследовать от std::exception или runtime_error какого чтоб проще было? И ловить соответственно только std::exception, вместо SEH в том числе тут:

D> __except( g_dll.set_exception_info(GetExceptionInformation(), GetExceptionCode()) ) {

D> g_dll.show_exception();
D> }
Re: Про двойной перехват исключений в DLL (как бы эстетичнее
D> }
D> catch (my::exception & ex) {
D> g_dll.init_exception(ex);
D> throw;
D> }
D> catch (std::exception & ex) {
D> g_dll.init_exception(ex);
D> throw;
D> }
1) зачем нужно g_dll.init_exception?
2) если оно прям таки нужно (нет), почему бы my::exception не отнаследовать от std::exception или runtime_error какого чтоб проще было? И ловить соответственно только std::exception, вместо SEH в том числе тут:

D> __except( g_dll.set_exception_info(GetExceptionInformation(), GetExceptionCode()) ) {

D> g_dll.show_exception();
D> }

..а stackwalker заюзать в к-ре my::exception