Added descriptive exception message on incorrect data type
Refactoring, simplified Win32Exception use
Console program now displays error messages.
Exception flow improved

After exception in StartDocPrinter or StartPagePrinter EndDocPrinter and
EndPagePrinter are no longer called.