C++ (Qt)//! Коды ошибокenum ErrorType { //! Нет ошибок errNone = 0, //! Ошибка открытия файла errFileOpen = -1000, //! Ошибка записи в файл errFileWrite = -1001, //! Некорректные данные в файле errDataBad = -5000};
C++ (Qt)int readData(const QString &fileName, QString &data ) { QFile iFile(fileName); if ( !iFile.open( QIODevice::ReadOnly ) ) { return ErrorType::errFileOpen; } else { data = iFile.readAll(); iFile.close(); return ErrorType::errNone; }}
C++ (Qt)int showError(int errorCode, const char * fileName = 0);int showError(int errorCode, const char * msg1 = 0, const char * msg2 = 0);
C++ (Qt)int showError(const QString & fileName, ErrorType errorCode) { switch (errorCode) { case ErrorType::errFileOpen: std::cerr << "Error: cannot open the file " << fileName.toStdString() << std::endl; break; case ErrorType::errFileWrite: std::cerr << "Error: cannot write to the file " << fileName.toStdString() << std::endl; break; case ErrorType::errDataBad: std::cerr << "Error: incorrect data in the file " << fileName.toStdString() << std::endl; break; default: std::cerr << "Error code: " << errorCode << "; file name: " << fileName.toStdString() << std::endl; break; } return errorCode;}
C++ (Qt)int readData(const QString &fileName, QString &data ) { QFile iFile(fileName); if ( !iFile.open( QIODevice::ReadOnly ) ) return ErrorType::errFileOpen; data = iFile.readAll(); return ErrorType::errNone;}
C++ (Qt)//! Коды ошибокenum ErrorType { //! Нет ошибок errNone = 0, //! Ошибка открытия файла errFileOpen = -1000, //! Ошибка записи в файл errFileWrite = -1001, //! Некорректные данные в файле errDataBad = -5000}; ErrorType readData( const QString &fileName, QString &data );ErrorType writeResult( const QString &fileName, QString &data );void showData( const QString &data );ErrorType showError( const QString &fileName, ErrorType errorCode );
C++ (Qt)/*! * Записываем данные в файл * \param fileName Имя файла, в который будем записывать * \param data Данные, которые будут записаны в файл * \return Код ошибки */ErrorType writeResult( const QString &fileName, QString &data ) { QFile file(fileName); if ( !file.open( QIODevice::WriteOnly ) ) return ErrorType::errFileOpen; QTextStream stream(&file); stream << data; file.close(); if (stream.status() != QTextStream::Ok) return ErrorType::errFileWrite; return ErrorType::errNone;}
C++ (Qt)errDataBad, // wrong (invalid) data
C++ (Qt)//! Error codesenum ErrorType { //! None errors errNone = 0, //! Error of the opening of a file errFileOpen = -1000, //! Error of the writing of a file errFileWrite = -1001, //! Wrong data errDataBad = -5000}; int main( int argc, char *argv[] ) { // ... ErrorType errorCode = ErrorType::errNone; // Read data from a file QString iFileName = QString( "input.txt" ); errorCode = readData( iFileName, data ); if ( !errorCode ) { showError( iFileName, errorCode ); } // ...}
C++ (Qt)if ( !errorCode ) { showError( iFileName, errorCode );}
C++ (Qt)int main( int argc, char *argv[] ) { QCoreApplication a( argc, argv ); // ... if ( errorCode != ErrorType::errNone ) { return showError( iFileName, errorCode ); } // ... return a.exec( );}
C++ (Qt)if ( errorCode != ErrorType::errNone ) { return showError( iFileName, errorCode );}