- } catch (InvalidKeyException e) {
- logger.error("Add device link failed", e);
- throw new UnexpectedErrorException("Add device link failed.", e);
+ }
+
+ try {
+ var deviceLinkUrl = DeviceLinkUrl.parseDeviceLinkUri(linkUri);
+ m.addDeviceLink(deviceLinkUrl);
+ } catch (IOException e) {
+ logger.error("Add device link failed: {}", e.getMessage());
+ throw new IOErrorException("Add device link failed", e);
+ } catch (InvalidDeviceLinkException e) {
+ logger.error("Invalid device link");
+ throw new UserErrorException("Invalid device link", e);
+ } catch (NotPrimaryDeviceException e) {
+ throw new UserErrorException("This command doesn't work on linked devices.");