wolfreak99 / audio-router

Updated Fork of the now abandoned audiorouterdev/audio-router. Need help maintaining, please feel free to contribute.
GNU General Public License v3.0
40 stars 11 forks source link

Switch from wstring errors to stacktrace exceptions #11

Open wolfreak99 opened 7 years ago

wolfreak99 commented 7 years ago

Throughout the code there were various try/catch instances that returned wstrings and showed those errors as messages. I don't like this approach, as it doesn't report much evidence to work with, such as where the error originated at or what all functions were executed to retrieve errors.

This is an attempt at making them provide more information by switching from wstring based errors (where possible) over to a stacktrace exception I found at https://sourceforge.net/projects/stacktrace/

By "Where possible", there is still an instance in bootstrapper.cpp which uses a wstring because void try_loading uses __try and doesn't allow unwinding, so that still throws wstrings, but void bootstrapper::load_local_implicit_params now handles this by catching the wstring and throwing a stack_runtime_error from there.

I have also yet to go through and replace the various non-trycatch-based error messages throughout the code, such as in main.cpp, etc, and I have yet to use/create more than just stack_runtime_error. I intend to do these things, but as of now, this is a quick address to help investigate #8 while I work on some other much needed stuff, such as an improved about window, changelog, version number plan, etc.