private static string errorToString(BrickError error) { string errorDescription = ""; switch (error) { case BrickError.CorruptFile: errorDescription = "File is corrupted"; break; case BrickError.EndOfFile: errorDescription = "End of file"; break; case BrickError.FileExits: errorDescription = "File already exists"; break; case BrickError.HandleNotReady: errorDescription = "File handle is not ready"; break; case BrickError.IllegalPath: errorDescription = "Illegal file path"; break; case BrickError.NoHandlesAvailable: errorDescription = "No more file handles"; break; case BrickError.NoPermissions: errorDescription = "File permission denied"; break; case BrickError.SizeError: errorDescription = "File size error"; break; case BrickError.UnknownError: errorDescription = "Unknown error"; break; case BrickError.UnknownHandle: errorDescription = "Unknown file handle"; break; case BrickError.WrongNumberOfBytes: errorDescription = "Wrong number of bytes received"; break; case BrickError.WrongSequenceNumber: errorDescription = "Reply has wrong sequence number"; break; default: errorDescription = "Unknown brick error"; break; } return(errorDescription); }
/// <summary> /// Convert errorCode to ErrorType /// </summary> /// <returns> /// The error type /// </returns> /// <param name='errorCode'> /// Error code /// </param> internal static ErrorType ToErrorType(byte errorCode) { BrickError brickError = (BrickError)errorCode; if (Enum.IsDefined(typeof(BrickError), brickError)) { return(ErrorType.Brick); } TunnelError serverError = (TunnelError)errorCode; if (Enum.IsDefined(typeof(TunnelError), serverError)) { return(ErrorType.Tunnel); } ConnectionError connectionError = (ConnectionError)errorCode; if (Enum.IsDefined(typeof(ConnectionError), connectionError)) { return(ErrorType.Connection); } if (errorCode != 0) { return(ErrorType.Brick); } return(ErrorType.NoError); }
private static string errorToString(BrickError error){ string errorDescription = ""; switch(error){ case BrickError.CorruptFile: errorDescription = "File is corrupted"; break; case BrickError.EndOfFile: errorDescription = "End of file"; break; case BrickError.FileExits: errorDescription = "File already exists"; break; case BrickError.HandleNotReady: errorDescription = "File handle is not ready"; break; case BrickError.IllegalPath: errorDescription = "Illegal file path"; break; case BrickError.NoHandlesAvailable: errorDescription = "No more file handles"; break; case BrickError.NoPermissions: errorDescription = "File permission denied"; break; case BrickError.SizeError: errorDescription = "File size error"; break; case BrickError.UnknownError: errorDescription = "Unknown error"; break; case BrickError.UnknownHandle: errorDescription = "Unknown file handle"; break; case BrickError.WrongNumberOfBytes: errorDescription = "Wrong number of bytes received"; break; case BrickError.WrongSequenceNumber: errorDescription = "Reply has wrong sequence number"; break; default: errorDescription = "Unknown brick error"; break; } return errorDescription; }
/// <summary> /// Initializes a new instance of EV3 exception /// </summary> /// <param name='error'> /// Brick Error. /// </param> public BrickException(BrickError error) : base(errorToString(error), (byte)error) { }
/// <summary> /// Initializes a new instance of EV3 exception /// </summary> /// <param name='error'> /// Brick error /// </param> /// <param name='inner'> /// Inner exception /// </param> public BrickException(BrickError error, Exception inner): base(errorToString(error), inner, (byte) error){}
private static string errorToString(BrickError error){ string errorDescription = ""; switch(error){ case BrickError.WrongNumberOfBytes: errorDescription = "Wrong number of bytes received"; break; case BrickError.UnknownErrorCode: errorDescription = "ErrorCode is unknown"; break; case BrickError.I2CTimeOut: errorDescription = "I2C sensor timeout"; break; case BrickError.NoMoreHandles: errorDescription = "No more file handles"; break; case BrickError.NoSpace: errorDescription = "No more space for file"; break; case BrickError.NoMoreFiles: errorDescription = "No more files"; break; case BrickError.EndOfFileExpected: errorDescription = "End of file expected"; break; case BrickError.EndOfFile: errorDescription = "End of file"; break; case BrickError.NotALinearFile: errorDescription = "Not a none-fragmented file"; break; case BrickError.FileNotFound: errorDescription = "File not found"; break; case BrickError.HandleAlreadyClosed: errorDescription = "Handle already closed"; break; case BrickError.NolinearSpace: errorDescription = "No space for none-fragmented file"; break; case BrickError.UndefinedFileError: errorDescription = "Undefined file error"; break; case BrickError.FileBussy: errorDescription = "File is busy"; break; case BrickError.NoWriteBuffers: errorDescription = "No write buffers"; break; case BrickError.AppendNotPossible: errorDescription = "Append to file is not possible"; break; case BrickError.FileIsFull: errorDescription = "File is full"; break; case BrickError.FileAlreadyExists: errorDescription = "File already exists"; break; case BrickError.ModuleNotFound: errorDescription = "Module not found"; break; case BrickError.OutOfBoundary: errorDescription = "Out of boundary"; break; case BrickError.IllegalFileName: errorDescription = "Illegal filename"; break; case BrickError.IllegalHandle: errorDescription = "Illegal file handle"; break; case BrickError.PendingCommunication: errorDescription = "Pending communication transaction in progress"; break; case BrickError.MailboxQueueEmpty: errorDescription = "Specified mailbox queue is empty"; break; case BrickError.RequestFailed: errorDescription = "Request failed (specified file not found)"; break; case BrickError.UnknownCommand: errorDescription = "Unknown command opcode"; break; case BrickError.InsanePacket: errorDescription = "Insane packet"; break; case BrickError.DataOutOfRange: errorDescription = "Data contains out-of-range values"; break; case BrickError.CommunicationBusError: errorDescription = "Communication bus error"; break; case BrickError.BufferFull: errorDescription = "No free memory in communication buffer"; break; case BrickError.InvalidChannel: errorDescription = "Pecified channel/connection is not valid"; break; case BrickError.NoActiveProgram: errorDescription = "No active program running"; break; case BrickError.IllegalSize: errorDescription = "Illegal size specified"; break; case BrickError.InvalidMailboxQueue: errorDescription = "Illegal mailbox queue ID specified"; break; case BrickError.InvalidField: errorDescription = "Attemped to access invalid field of a structure"; break; case BrickError.BadIO: errorDescription = "Bad input or output specified"; break; case BrickError.OutOfMemory: errorDescription = "Insufficient memory available"; break; case BrickError.BadArguments: errorDescription = "Bad arguments"; break; default: errorDescription = "Unknown brick error"; break; } return errorDescription; }
private static string errorToString(BrickError error) { string errorDescription = ""; switch (error) { case BrickError.WrongNumberOfBytes: errorDescription = "Wrong number of bytes received"; break; case BrickError.UnknownErrorCode: errorDescription = "ErrorCode is unknown"; break; case BrickError.I2CTimeOut: errorDescription = "I2C sensor timeout"; break; case BrickError.NoMoreHandles: errorDescription = "No more file handles"; break; case BrickError.NoSpace: errorDescription = "No more space for file"; break; case BrickError.NoMoreFiles: errorDescription = "No more files"; break; case BrickError.EndOfFileExpected: errorDescription = "End of file expected"; break; case BrickError.EndOfFile: errorDescription = "End of file"; break; case BrickError.NotALinearFile: errorDescription = "Not a none-fragmented file"; break; case BrickError.FileNotFound: errorDescription = "File not found"; break; case BrickError.HandleAlreadyClosed: errorDescription = "Handle already closed"; break; case BrickError.NolinearSpace: errorDescription = "No space for none-fragmented file"; break; case BrickError.UndefinedFileError: errorDescription = "Undefined file error"; break; case BrickError.FileBussy: errorDescription = "File is busy"; break; case BrickError.NoWriteBuffers: errorDescription = "No write buffers"; break; case BrickError.AppendNotPossible: errorDescription = "Append to file is not possible"; break; case BrickError.FileIsFull: errorDescription = "File is full"; break; case BrickError.FileAlreadyExists: errorDescription = "File already exists"; break; case BrickError.ModuleNotFound: errorDescription = "Module not found"; break; case BrickError.OutOfBoundary: errorDescription = "Out of boundary"; break; case BrickError.IllegalFileName: errorDescription = "Illegal filename"; break; case BrickError.IllegalHandle: errorDescription = "Illegal file handle"; break; case BrickError.PendingCommunication: errorDescription = "Pending communication transaction in progress"; break; case BrickError.MailboxQueueEmpty: errorDescription = "Specified mailbox queue is empty"; break; case BrickError.RequestFailed: errorDescription = "Request failed (specified file not found)"; break; case BrickError.UnknownCommand: errorDescription = "Unknown command opcode"; break; case BrickError.InsanePacket: errorDescription = "Insane packet"; break; case BrickError.DataOutOfRange: errorDescription = "Data contains out-of-range values"; break; case BrickError.CommunicationBusError: errorDescription = "Communication bus error"; break; case BrickError.BufferFull: errorDescription = "No free memory in communication buffer"; break; case BrickError.InvalidChannel: errorDescription = "Pecified channel/connection is not valid"; break; case BrickError.NoActiveProgram: errorDescription = "No active program running"; break; case BrickError.IllegalSize: errorDescription = "Illegal size specified"; break; case BrickError.InvalidMailboxQueue: errorDescription = "Illegal mailbox queue ID specified"; break; case BrickError.InvalidField: errorDescription = "Attemped to access invalid field of a structure"; break; case BrickError.BadIO: errorDescription = "Bad input or output specified"; break; case BrickError.OutOfMemory: errorDescription = "Insufficient memory available"; break; case BrickError.BadArguments: errorDescription = "Bad arguments"; break; default: errorDescription = "Unknown brick error"; break; } return(errorDescription); }