Fixed error type
Added option and type fields to explain what went wrong for individual options
Changed missing argument value to throw execption (with work around for TryCatch not catching