Skip to content

Instantly share code, notes, and snippets.

@DVDPT
Last active August 29, 2015 14:16
Show Gist options
  • Save DVDPT/581a17abade5304b349f to your computer and use it in GitHub Desktop.
Save DVDPT/581a17abade5304b349f to your computer and use it in GitHub Desktop.
LoadingSafeRun
internal async Task LoadingSafeRun(Func<Task> func, string loadingMessage, bool startedByUser = false)
{
try
{
StartLoadingOperation(loadingMessage);
await func();
StopLoadingOperation();
}
catch (Exception e)
{
StopLoadingOperation();
var errorMessage = ExceptionHandlerService.Instance.Handle(exception);
if (startedByUser)
{
try
{
await MessageBoxService.ShowAsync(errorMessage, ErrorResources.Error, MessageBoxButton.Ok);
}
catch (Exception)
{
}
}
else
{
ShowErrorMessage(errorMessage);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment