title: Getting warning except catch block after a Promise
body: <p>I am coding a discord.js bot and need a command where the first argument is a Message-ID.
  Because a <code>fetch()</code> returns a promise, it's not guaranteed that the message will be found (obviously if the ID is wrong), so only if finds the message, it goes into the <code>.then()</code>, if not, I just make <code>.catch(msg.delete())</code></p>
  <p><strong>BUT</strong>, I still get a warning in the console <code>UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown Message</code>
  But if I change the catch block to <code>.catch(console.error)</code> the warnings vanish and I get a object-kinda output. But I dont that this error will be displayed in my console, neither I want those warnings. My bot should just remove the message, because it's the users fault to type an invalid id.</p>
  <p>And one question: when exactly does the catch block trigger, if the ID (args[0]) is per se valid (18 chars and only numbers) but still not matching to any message, or if its just anything causing an error in the Promise.</p>
  <p>Thanks in advance!</p>
  <p>Here is a bit more code:</p>
  <pre><code>msg.channel.messages.fetch(args[0])
                  .then(message =&gt; {
                      console.log(&quot;then&quot;);
                  })
                  .catch(console.log(&quot;catch&quot;));
  </code></pre>
  <p>what's really interesting, if my ID is valid, then it says first &quot;catch&quot;, and then &quot;then&quot;. If its invalid it says &quot;catch&quot; and then comes the warning message</p>