1 #!/usr/bin/env python3 2 # coding=utf-8 3 4 # 5 # Copyright (c) 2022 Huawei Device Co., Ltd. 6 # Licensed under the Apache License, Version 2.0 (the "License"); 7 # you may not use this file except in compliance with the License. 8 # You may obtain a copy of the License at 9 # 10 # http://www.apache.org/licenses/LICENSE-2.0 11 # 12 # Unless required by applicable law or agreed to in writing, software 13 # distributed under the License is distributed on an "AS IS" BASIS, 14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 # See the License for the specific language governing permissions and 16 # limitations under the License. 17 # 18 19 20 class ParamError(Exception): 21 def __init__(self, error_msg): 22 super().__init__() 23 self.error_msg = error_msg 24 25 def __str__(self): 26 return "ParamError: %s" % self.error_msg 27 28 29 class LiteDeviceConnectError(Exception): 30 def __init__(self, error_msg): 31 super().__init__() 32 self.error_msg = error_msg 33 34 def __str__(self): 35 return "LiteDeviceConnectError: %s" % self.error_msg 36 37 38 class DeviceNotExistError(Exception): 39 def __init__(self, error_msg): 40 super().__init__() 41 self.error_msg = error_msg 42 43 def __str__(self): 44 return "DeviceNotExistError: %s" % self.error_msg 45 46 47 class DeviceCommandRejectedException(Exception): 48 """ 49 Exception thrown when device refuses a command. 50 """ 51 def __init__(self, value): 52 super().__init__() 53 self.value = value 54 55 def __str__(self): 56 return "DeviceCommandRejectedException: %s" % self.value 57 58 59 class ShellCommandUnresponsiveException(Exception): 60 """ 61 Exception thrown when a shell command executed on a device takes 62 too long to send its output. 63 """ 64 def __str__(self): 65 return "ShellCommandUnresponsiveException" 66