void CExceptionReporter::ReportDefaultEx(int err_code, int err_subcode, const CDiagCompileInfo& info, const string& title,const exception& ex, TDiagPostFlags flags) { if ( !sm_DefEnabled ) return; const CException* cex = dynamic_cast<const CException*>(&ex); auto_ptr<CException> wrapper; if ( !cex ) { wrapper.reset(new CExceptionWrapper(info, ex)); cex = wrapper.get(); } if ( sm_DefHandler ) { sm_DefHandler->Report(info.GetFile(), info.GetLine(), title, *cex, flags); } else { CNcbiDiag d(info, cex->GetSeverity(), flags); d << ErrCode(err_code, err_subcode); if ((err_code==0 && err_subcode==0) || d.CheckFilters()) { d << title << *cex; } else { Reset(d); } } }
void CObjectOStream::ThrowError1(const CDiagCompileInfo& diag_info, TFailFlags fail, const string& message, CException* exc) { CSerialException::EErrCode err; try { DefaultFlush(); } catch(...) { } string msg(message); if (fail == fUnassigned) { msg = "cannot write unassigned member "+message; } SetFailFlags(fail, msg.c_str()); msg.insert(0,GetPosition()+": "); switch(fail) { case fNoError: CNcbiDiag(diag_info, eDiag_Trace) << ErrCode(NCBI_ERRCODE_X, 12) << message; return; // case fEOF: err = CSerialException::eEOF; break; default: case fWriteError: err = CSerialException::eIoError; break; // case fFormatError: err = CSerialException::eFormatError; break; case fOverflow: err = CSerialException::eOverflow; break; case fInvalidData: err = CSerialException::eInvalidData; break; case fIllegalCall: err = CSerialException::eIllegalCall; break; case fFail: err = CSerialException::eFail; break; case fNotOpen: err = CSerialException::eNotOpen; break; case fNotImplemented: err = CSerialException::eNotImplemented; break; case fUnassigned: throw CUnassignedMember(diag_info,exc,CUnassignedMember::eWrite, msg); } throw CSerialException(diag_info,exc,err,msg); }
int FindExe (char const * filePath, char * exePath) { HINSTANCE hInst = ::FindExecutable (filePath, 0, exePath); return ErrCode (hInst); }