title: How to do sys.exit() with asyncio Python 3.8+/Windows 10+ without exceptions?
body: <p>I want to write such asyncio program which exists on on some problems. I should work but it generates ugly output instead of clean exit. How to do <code>sys.exit()</code> without such ugly exceptions?</p>
  
  <p>Here is code:</p>
  
  <pre><code>import asyncio
  import sys
  
  
  async def main():
      sys.exit()
  
  
  if __name__ == '__main__':
      asyncio.run(main(), debug=True)
  </code></pre>
  
  <p>Result is:</p>
  
  <pre><code>C:\root\Python38\python.exe C:/Users/x/PycharmProjects/dptr-monitoring-v2/sandbox/python/s06_asyncio/s02_exit.py
  Cancelling an overlapped future failed
  future: &lt;_OverlappedFuture pending overlapped=&lt;pending, 0x1dba46c58b0&gt; cb=[BaseProactorEventLoop._loop_self_reading()] created at C:\root\Python38\lib\asyncio\windows_events.py:461&gt;
  source_traceback: Object created at (most recent call last):
    File "C:/Users/x/PycharmProjects/dptr-monitoring-v2/sandbox/python/s06_asyncio/s02_exit.py", line 10, in &lt;module&gt;
      asyncio.run(main(), debug=True)
    File "C:\root\Python38\lib\asyncio\runners.py", line 47, in run
      loop.run_until_complete(loop.shutdown_asyncgens())
    File "C:\root\Python38\lib\asyncio\base_events.py", line 599, in run_until_complete
      self.run_forever()
    File "C:\root\Python38\lib\asyncio\windows_events.py", line 316, in run_forever
      super().run_forever()
    File "C:\root\Python38\lib\asyncio\base_events.py", line 567, in run_forever
      self._run_once()
    File "C:\root\Python38\lib\asyncio\base_events.py", line 1847, in _run_once
      handle._run()
    File "C:\root\Python38\lib\asyncio\events.py", line 81, in _run
      self._context.run(self._callback, *self._args)
    File "C:\root\Python38\lib\asyncio\proactor_events.py", line 769, in _loop_self_reading
      f = self._proactor.recv(self._ssock, 4096)
    File "C:\root\Python38\lib\asyncio\windows_events.py", line 461, in recv
      return self._register(ov, conn, finish_recv)
  Traceback (most recent call last):
    File "C:\root\Python38\lib\asyncio\runners.py", line 43, in run
      return loop.run_until_complete(main)
    File "C:\root\Python38\lib\asyncio\base_events.py", line 599, in run_until_complete
      self.run_forever()
    File "C:\root\Python38\lib\asyncio\windows_events.py", line 316, in run_forever
      super().run_forever()
    File "C:\root\Python38\lib\asyncio\base_events.py", line 567, in run_forever
      self._run_once()
    File "C:\root\Python38\lib\asyncio\base_events.py", line 1847, in _run_once
      handle._run()
    File "C:\root\Python38\lib\asyncio\events.py", line 81, in _run
      self._context.run(self._callback, *self._args)
    File "C:/Users/x/PycharmProjects/dptr-monitoring-v2/sandbox/python/s06_asyncio/s02_exit.py", line 6, in main
      exit()
    File "C:\root\Python38\lib\_sitebuiltins.py", line 26, in __call__
      raise SystemExit(code)
  SystemExit: None
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "C:\root\Python38\lib\asyncio\windows_events.py", line 66, in _cancel_overlapped
      self._ov.cancel()
  OSError: [WinError 6] Nieprawidłowe dojście
  
  Process finished with exit code 0
  </code></pre>
  
  <p>Should be:</p>
  
  <p><code>Process finished with exit code 0</code></p>