isErrorLike function
Checks if the value is an error-like object
Implementation
bool isErrorLike(dynamic value) {
if (value == null) return false;
if (value is Error) return true;
if (value is Exception) return true;
if (value is Map) {
return value.containsKey('message') || value.containsKey('stack');
}
return false;
}