簡體   English   中英

錯誤消息和Qt中組織更好的代碼

[英]Error messages and having better organized code in Qt

啟動時,它將從文件加載數據並在將其保存到內存之前驗證其是否正確。

RepositoryInFile::RepositoryInFile(Validator *validator){
    this->validator = validator;
    this->read();
}

read()是一個私有方法,試圖打開和讀取文件中的數據。 它還會引發異常。 當我在程序中發現錯誤時,我將執行以下操作:

  try {
    //do something
  } catch (CustomException customE) {
    QString message = QString::fromStdString(customE.reason());
    // I'm not extending std::exception beacause... well I don't know why
    QMessageBox::critical(this, "Error!", message);
  }

現在,如果RepositoryInFile的構造函數出了問題,我可以拋出一個異常,並且可以在我的主函數中捕獲它,但是我無法在屏幕上顯示一個漂亮的消息框來通知用戶出了問題(或者我不知道怎么樣)。 現在,我在控制台中使用qDebug()顯示一條消息,但這僅是為了幫助我。

我是否應該重新設計RepositoryInFile的工作方式,並采用其他方法在GUI初始化后從文件中加載數據?

不一定需要。 您可以簡單地在異常處理程序中顯示消息框。 您需要做的唯一更改是:

QMessageBox::critical(0, "Error!", message);
//                    ^

因此,基本上,如果將其替換為“零”,則它將成為用戶界面的“根”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM