Issue #21163: Fix "destroy pending task" warning in test_wait_errors()
diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py
index a741bd3..07952c9 100644
--- a/Lib/asyncio/tasks.py
+++ b/Lib/asyncio/tasks.py
@@ -330,14 +330,14 @@
         raise TypeError("expect a list of futures, not %s" % type(fs).__name__)
     if not fs:
         raise ValueError('Set of coroutines/Futures is empty.')
+    if return_when not in (FIRST_COMPLETED, FIRST_EXCEPTION, ALL_COMPLETED):
+        raise ValueError('Invalid return_when value: {}'.format(return_when))
 
     if loop is None:
         loop = events.get_event_loop()
 
     fs = {async(f, loop=loop) for f in set(fs)}
 
-    if return_when not in (FIRST_COMPLETED, FIRST_EXCEPTION, ALL_COMPLETED):
-        raise ValueError('Invalid return_when value: {}'.format(return_when))
     return (yield from _wait(fs, timeout, return_when, loop))