allback must accept either one argument or two arguments.
If <code>onError</code> accepts two arguments,
it is called with both the error and the stack trace,
otherwise it is called with just the error object.</p>
<p>Returns a new <a href="dart-async/Future-class.html">Future</a>
which is completed with the result of the call to <code>onValue</code>
(if this future completes with a value)
or to <code>onError</code> (if this future completes with an error).</p>
<p>If the invoked callback throws,
the returned