Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

settings: log errors in PreferencesDialog._load instead of swallowing silently

未關閉 適合新手
#1,637 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
1/5
預估耗時
1-3 小時
新手友好度
78/100
Issue 類型
缺陷
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
dart, flutter, sqlite
領域
backend, desktop

研究方向

閱讀 lib/features/settings/preferences_dialog.dart,檢查 PreferencesDialog._load() 及其現有的 catch (_) {} 區塊。使用 debugPrint 或應用程式的記錄器新增錯誤和堆疊追蹤記錄;確認捕捉到的失敗會顯示在記錄中,同時對話框保留其備援值。

由索引模型根據 Issue 內容生成。

描述

bug error-handling settings
Problem

In lib/features/settings/preferences_dialog.dart, _load() sequentially reads preferences from AppSettings.instance:

Future<void> _load() async {
  final s = AppSettings.instance;
  try {
    final startup = await s.getCheckForUpdatesOnStartup();
    ...
  } catch (_) {}
}

If reading any preference fails (for example, SQLite database corruption, I/O error, or schema mismatch), the exception is completely swallowed in catch (_) {}. The dialog remains open with initial fallback values, leaving no trace in logs for troubleshooting.

Change

Log unexpected exceptions (via debugPrint or the application logger) with the error and stack trace so storage failures during dialog load can be diagnosed.

主要語言
Dart
星號
23
分支
1
平均合併
31 分鐘
30 天內合併 PR
570

環境準備

在 Codespaces 中開啟

在瀏覽器裡用你自己的 GitHub 帳號啟動這個專案的開發容器。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

QueryaHub/Querya-Desktop 的其他 Issue

查看 QueryaHub/Querya-Desktop 的全部 Issue

相似的 Issue

更多 Dart Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。