2
我想在控制檯應用程序中抑制錯誤文本。 Qt數據庫驅動程序遇到任何SQL錯誤時會自動打印錯誤。我想要做的是,顯示用戶友好的信息,而不會顯示技術錯誤。我沒有發現任何搜索,接近解決這個問題。Qt抑制數據庫錯誤
我想在控制檯應用程序中抑制錯誤文本。 Qt數據庫驅動程序遇到任何SQL錯誤時會自動打印錯誤。我想要做的是,顯示用戶友好的信息,而不會顯示技術錯誤。我沒有發現任何搜索,接近解決這個問題。Qt抑制數據庫錯誤
您可以安裝一個自定義消息處理程序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();
}
提交Bug報告。 – JadziaMD 2012-03-29 13:24:35
對於你必須對接受,因爲它確實是最接近的事情,直到它被Qt直接尋址Qt的網站 – 2012-03-28 13:54:02