The const char * thrown here is obtained from a std::string and is subject to being freed while the exception is being thrown.
It seems like all other exceptions thrown in the repo are of std::exception class, either from standard exception classes like std::runtime_error and std::range_error, or custom subclass C.*Error, that can be shown with
The const char * thrown here is obtained from a std::string and is subject to being freed while the exception is being thrown.
It seems like all other exceptions thrown in the repo are of std::exception class, either from standard exception classes like std::runtime_error and std::range_error, or custom subclass C.*Error, that can be shown with
Although given this fact, the exception thrown here is caught early at CBrokerageHouse::Run* methods, e.g. line 856 of BrokerageHouse.cpp simply logging a text saying TR EXCEPTION, and it might be making too much changes to apply for this simple improvement if consistency of exception class is demanded. https://github.com/osdldbt/dbt5/blob/5575431ad9826c532a466191239338c635002b0f/src/BrokerageHouse/BrokerageHouse.cpp#L856