Don't forget to print the message on exception, don't rely on windows' RaiseException for unhandled exceptions