Topic: errors from catch (Exception ex)

First I could not get the examples to compile using vars.. It kept complaining about tryOpen not being a member. So I have to use read class types. Now I get this... See comments in try catch. I can use HID.dll from my command line C application with a report ID of 18 using 4 and 2 as a write.  So I know the device is good.

  HidDeviceLoader loader = new HidDeviceLoader();
         HidDevice device = loader.GetDevices(0x16d0, 0x0d04).First();
         HidStream stream;
         device.TryOpen(out stream);

         var bytes = new byte[device.MaxOutputReportLength];
         bytes[0] = 18;
         bytes[1] = 4;
         bytes[2] = 1;
         int retry = 10;

         while (retry>0)
             catch (TimeoutException)
             catch (Exception ex)
                 MessageBox.Show("Timeout waiting for API to respond: " + ex.Message);
                 // ex.InnerException  - The parameter is incorrect.
                 // ex.message  operation failed early

                 return true;
                 //error out.
         return false;