🎈
UnimplementedError class
📕Overview
///
/// この[Error]は、まだ実装されていない未完成のコードによってスローされます。
/// この[エラー]は、必要な機能をすべて実装していない未完成のコードによってスローされます。
///
/// クラスがその機能を実装するつもりがない場合、 /// [Unsupported Error] を投げるべきです。
/// 代わりに[UnsupportedError]を投げる必要があります。このエラーは
/// このエラーは開発中にのみ使用されます。
🧷summary
使われることが想定されるusecaseは、未実装の処理がある時です。
例1:
import 'package:isar/isar.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'isar.g.dart';
Isar isar(IsarRef ref) {
throw UnimplementedError();
}
isarを使ったサンプルはこちらの記事でご紹介しております。
例2:
abstract interface class BaseRepository {
String get tableName;
String get primaryKey;
}
class BaseRepositoryImpl implements BaseRepository {
// UnimplementedErrorとは、未実装のメソッドが呼ばれた場合に発生するエラーです。
String get tableName => throw UnimplementedError();
String get primaryKey => throw UnimplementedError();
}
これはベースリポジトリを使ったパターンですね。普段はゲッター使わないので、勉強になりました。
🧑🎓thoughts
UnimplementedErrorは、未完成の機能を作るときに使われるコードのようです。たまに見かけるのですが、よくわからずに使っててよくないなと思い記事にしました。
Discussion