2

良いチュートリアルはありますか、または誰かがファイルを処理するプロセスを案内してくれますQFileか? それらを適切に処理し、適切なエラーを発生させ、少なくともエラーを確認する必要があります。

これまでのところ、私はこのコードを使用してきました:

QFile f("/home/skamah/documents/myfile.txt");
if (!f.exists())
    QMessageBox("File error", "File doesn't exist.").show();
QTextStream in(&file);
QString content = in.readAll();

ただし、これはファイルを読み取るためのかなり前置き的な方法だと思います。error()qt doc から、どのエラーが発生したかに応じて int 値を返すメソッドが呼び出されることがわかりました。私はそれを使うべきですか?また、どのような種類のエラーを発生させるかについての規則はありますか?

4

1 に答える 1

1

Qt のドキュメントが最良のガイドです。それを読んだことがあれば、メソッドがint ではなく value をerror()返すことがわかるでしょう。QFile::FileError

各メソッド (など) にはopenread成功したかどうかを判断する方法があります。メソッドのドキュメントに記載されています。基本的なルール: すべてがうまくいっていることを確認したい場合は、各メソッド呼び出しの後に確認する必要があります。何かが間違っていると判断した後、呼び出し元のコードまたはユーザーにそれを通知する方法と、提供する追加情報を選択できます。たとえば、例外を使用できます。

ただし、QFile には、エラーの本当の原因を特定する機能がありません。たとえば、ディスクにスペースが残っていないためにファイルを書き込めないかどうかを判断できません。また、Qt は内部で例外を使用しないため、呼び出しのたびに手動でエラーをチェックする必要があります。

于 2013-06-16T19:00:00.207 に答える