Summary
Создать типизированную иерархию исключений QueryaDatabaseException для унификации обработки ошибок подключения и запросов между всеми драйверами (PostgreSQL, MySQL, SQLite, MongoDB, Redis, Extensions).
Context
Сейчас каждый драйвер выбрасывает свои низкоуровневые исключения (PostgreSQLSeverityException, MySqlException, MongoDartError, SocketException, StateError). В UI приходится писать разрозненные catch блоки, а пользователь видит технические стектрейсы вместо понятных подсказок по исправлению (например, «Неверный пароль», «Таймаут подключения», «БД не существует»).
Implementation Details
- Создать базовый класс исключений:
sealed class QueryaDatabaseException implements Exception {
final String message;
final String? detailedExplanation;
final String? remediationHint;
final Object? originalError;
final StackTrace? stackTrace;
...
}
class AuthFailedException extends QueryaDatabaseException { ... }
class HostUnreachableException extends QueryaDatabaseException { ... }
class QuerySyntaxException extends QueryaDatabaseException { ... }
class TableNotFoundException extends QueryaDatabaseException { ... }
class LockTimeoutException extends QueryaDatabaseException { ... }
- Добавить адаптеры-мапперы в сервисы СУБД (
PostgresService, MysqlService, MongoService, RedisService).
- Унифицировать отображение ошибок в статус-баре и тостах.
Acceptance Criteria
Summary
Создать типизированную иерархию исключений
QueryaDatabaseExceptionдля унификации обработки ошибок подключения и запросов между всеми драйверами (PostgreSQL, MySQL, SQLite, MongoDB, Redis, Extensions).Context
Сейчас каждый драйвер выбрасывает свои низкоуровневые исключения (
PostgreSQLSeverityException,MySqlException,MongoDartError,SocketException,StateError). В UI приходится писать разрозненныеcatchблоки, а пользователь видит технические стектрейсы вместо понятных подсказок по исправлению (например, «Неверный пароль», «Таймаут подключения», «БД не существует»).Implementation Details
PostgresService,MysqlService,MongoService,RedisService).Acceptance Criteria