title: Catch error using catchError in a future and throw another type
body: <p>I am not sure if this type of error handling and abstraction is done in a wrong way.</p>
  
  <pre><code>Future&lt;void&gt; _refresh() {
    return Future(() =&gt; throw someError)
         .catchError((error) {
           // maybe do something here
           throw abstractedError; //or even the same error
        });
  </code></pre>
  
  <p>Being able in another place to use it accordingly:</p>
  
  <pre><code>// in a widget/another place
  
  void doSomething() { 
     _refresh()
       .then((_) =&gt; bla())
       .catchError((error) {
        //showSomeAlert() or handleSomething()
    });
  }
  </code></pre>