public async Task <T> TryMethod <T>(Task <T> task, T defaultReturnValue, WebServiceType type, string additionalErrorInfo = null) { if (_servicesStatus.IsOnline(WebServiceType.LastFm)) { try { _servicesStatus.SetStatus(WebServiceType.Web, true); _servicesStatus.SetStatus(WebServiceType.LastFm, true); return(await task); } catch (Exception ex) { HandleError(ex, additionalErrorInfo); } } return(defaultReturnValue); }