try/catch blocks with async/await
<p>I'm digging into the node 7 <code>async</code>/<code>await</code> feature and keep stumbling across code like this</p>
<p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-js lang-js prettyprint-override"><code>function getQuote() {
  let quote = "Lorem ipsum dolor sit amet, consectetur adipiscing elit laborum.";
  return quote;
}

async function main() {
  try {
    var quote = await getQuote();
    console.log(quote);
  } catch (error) {
    console.error(error);
  }
}

main();</code></pre>
</div>
</div>
</p>
<p>This seems to be the only possibility <code>resolve</code>/<code>reject</code> or <code>return</code>/<code>throw</code> with <code>async</code>/<code>await</code>, however, v8 doesn't optimise code within <code>try</code>/<code>catch</code> blocks?!</p>
<p>Are there alternatives?</p>