2012-03-28 17 views
2

私は、コンソールアプリケーションでエラーテキストを抑制したいと思います。 Qtデー​​タベースドライバがSQLエラーを検出すると、エラーは自動的に出力されます。私がしたいのは、技術的なエラーを表示せずにユーザーフレンドリーなメッセージを表示することです。私はこれに対処することに近いものは何も見つけ出していない。Qtデータベースのエラーを抑制する

+0

あなたはそれが直接のQtによって対処されるまで、それは本当に最も近いものであるとして受け入れQtのサイト –

答えて

1

qInstallMsgHandler()でカスタムメッセージハンドラをインストールできますが、これはアプリケーションの幅がです。それがあなたに十分なコントロールを与えるかどうかは分かりません。

例:そのために

#include <QtCore> 

void myMessageOutput(QtMsgType type, const char *msg) { 
    switch (type) { 
    case QtDebugMsg: 
    case QtCriticalMsg: 
     fprintf(stderr, "%s\n", msg); 
     break; 
    case QtWarningMsg: 
     fprintf(stderr, "A kinder, gentler, warning message.\n", msg); 
     break; 
    case QtFatalMsg: 
     fprintf(stderr, "%s\n", msg); 
     abort(); 
    } 
} 

int main(int argc, char **argv) { 
    qInstallMsgHandler(myMessageOutput); 
    QCoreApplication app(argc, argv); 
    qDebug("A debug message"); 
    qCritical("A critical message"); 
    qWarning("REALLY TECHNICAL WARNING THAT SCARES SMALL CHILDREN"); 
    qFatal("A fatal message"); 
    return app.exec(); 
} 
+0

にバグレポートを提出する必要があります。 – JadziaMD