Don't throw when we fail to find a device.

Instead, set it to None and let the caller handle things.

Change-Id: Ic4f27fdb52ebd6bc5b4048e4e688ec7bd2509bfa
diff --git a/python-packages/gdbrunner/__init__.py b/python-packages/gdbrunner/__init__.py
index b01ef6b..bd2b72d 100644
--- a/python-packages/gdbrunner/__init__.py
+++ b/python-packages/gdbrunner/__init__.py
@@ -63,14 +63,18 @@
                 msg += "\n       Try specifying its location with --adb."
             sys.exit(msg.format(adb_path))
 
-        if result.device == "-a":
-            result.device = adb.get_device(adb_path=adb_path)
-        elif result.device == "-d":
-            result.device = adb.get_usb_device(adb_path=adb_path)
-        elif result.device == "-e":
-            result.device = adb.get_emulator_device(adb_path=adb_path)
-        else:
-            result.device = adb.get_device(result.serial, adb_path=adb_path)
+        try:
+            if result.device == "-a":
+                result.device = adb.get_device(adb_path=adb_path)
+            elif result.device == "-d":
+                result.device = adb.get_usb_device(adb_path=adb_path)
+            elif result.device == "-e":
+                result.device = adb.get_emulator_device(adb_path=adb_path)
+            else:
+                result.device = adb.get_device(result.serial, adb_path=adb_path)
+        except (adb.DeviceNotFoundError, adb.NoUniqueDeviceError, RuntimeError):
+            # Don't error out if we can't find a device.
+            result.device = None
 
         return result
 
diff --git a/scripts/gdbclient.py b/scripts/gdbclient.py
index 4993ad5..4fb6c7e 100755
--- a/scripts/gdbclient.py
+++ b/scripts/gdbclient.py
@@ -210,6 +210,10 @@
 def main():
     args = parse_args()
     device = args.device
+
+    if device is None:
+        sys.exit("ERROR: Failed to find device.")
+
     props = device.get_props()
 
     root = os.environ["ANDROID_BUILD_TOP"]