After this mistake itself, I tracked it to a stupid but easy mistake:
throw new VideoCaptureException( "uh-oh" );
will end with an error message, but:
throw VideoCaptureException( "uh-oh" );
will be successful.
The new option calls a pointer to the exception, not the exception itself. The boost library does not know what to do with this, so it just says "unknown type".
It would be nice if the library explained the situation correctly, but I hope someone else who finds themselves in a "fatal error: unknown type" finds this page and sees how to fix it!
source share