There is an unsaved comment in progress. You will lose your changes if you continue. Are you sure you want to reopen the work item?
The constructor for DilutionOfPrecision throws an exception when passed a negative value. Unfortunately when my Trimble unit when it doesn't have a satellite lock it passes in -1 for the DOP values in its $GPGSA message:
Perhaps flooring it at zero would provide the same information (no lock) without the exception?