Assumptions should be verified by asserts, not by Exceptions.  Another place for this exception would be in Device.get_own_device.