1# Copyright 2014 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5""" 6Exception classes raised by AdbWrapper and DeviceUtils. 7""" 8 9class BaseError(Exception): 10 """Base exception for all device and command errors.""" 11 pass 12 13 14class CommandFailedError(BaseError): 15 """Exception for command failures.""" 16 17 def __init__(self, cmd, msg, device=None): 18 super(CommandFailedError, self).__init__( 19 (('device %s: ' % device) if device else '') + 20 'adb command \'%s\' failed with message: \'%s\'' % (' '.join(cmd), msg)) 21 22 23class CommandTimeoutError(BaseError): 24 """Exception for command timeouts.""" 25 pass 26 27 28class DeviceUnreachableError(BaseError): 29 """Exception for device unreachable failures.""" 30 pass 31 32