private async void LoadCatalogItems(ISearchableCatalogReader catalogReader) { if (catalogReader == null) { return; } StartBusiness(); try { var result = await catalogReader.SearchAsync(SearchQuery); if (result != null) { var books = result.OfType<CatalogBookItemModel>(); if (!books.Any()) { _ignoredCatalogsIds.Add(catalogReader.CatalogId); return; } AddItems(books, catalogReader.CatalogId); } } catch (ReadCatalogException) { //ShowReadCatalogError(); // ignore exception. Show message about empty search result instead. } catch (TaskCanceledException) { //skip taks cancelled exception } catch (Exception) { // ignore exception. Show message about empty search result instead. } finally { StopBusiness(); } }