private void Initialize(ODataExceptionCode exceptionCode) { ODataExceptionCode = exceptionCode; switch (exceptionCode) { case ODataExceptionCode.NotSpecified: HttpStatusCode = 500; HttpStatus = HTTPERROR500; break; case ODataExceptionCode.RequestError: HttpStatusCode = 400; HttpStatus = HTTPERROR400; break; case ODataExceptionCode.InvalidTopParameter: HttpStatusCode = 400; HttpStatus = HTTPERROR400; break; case ODataExceptionCode.NegativeTopParameter: HttpStatusCode = 400; HttpStatus = HTTPERROR400; break; case ODataExceptionCode.InvalidSkipParameter: HttpStatusCode = 400; HttpStatus = HTTPERROR400; break; case ODataExceptionCode.NegativeSkipParameter: HttpStatusCode = 400; HttpStatus = HTTPERROR400; break; case ODataExceptionCode.InvalidInlineCountParameter: HttpStatusCode = 400; HttpStatus = HTTPERROR400; break; case ODataExceptionCode.InvalidFormatParameter: HttpStatusCode = 400; HttpStatus = HTTPERROR400; break; case ODataExceptionCode.InvalidOrderByParameter: HttpStatusCode = 400; HttpStatus = HTTPERROR400; break; case ODataExceptionCode.InvalidOrderByDirectionParameter: HttpStatusCode = 400; HttpStatus = HTTPERROR400; break; case ODataExceptionCode.InvalidExpandParameter: HttpStatusCode = 400; HttpStatus = HTTPERROR400; break; case ODataExceptionCode.InvalidSelectParameter: HttpStatusCode = 400; HttpStatus = HTTPERROR400; break; case ODataExceptionCode.ContentAlreadyExists: HttpStatusCode = 403; HttpStatus = HTTPERROR403; break; case ODataExceptionCode.ResourceNotFound: HttpStatusCode = 404; HttpStatus = HTTPERROR404; break; case ODataExceptionCode.CannotConvertToJSON: HttpStatusCode = 500; HttpStatus = HTTPERROR500; break; case ODataExceptionCode.Forbidden: HttpStatusCode = 403; HttpStatus = HTTPERROR403; break; case ODataExceptionCode.Unauthorized: HttpStatusCode = 401; HttpStatus = HTTPERROR401; break; default: HttpStatusCode = 500; HttpStatus = HTTPERROR500; break; } }
/// <summary> /// Initializes a new instance of the ODataException with the given parameters. /// </summary> /// <param name="message">The message of the error.</param> /// <param name="code">The <see cref="ODataExceptionCode"/> of the exception.</param> public ODataException(string message, ODataExceptionCode code) : base(message) { Initialize(code); }
/// <summary> /// Initializes a new instance of the ODataException with a general message and the given error code. /// </summary> /// <param name="code">The <see cref="ODataExceptionCode"/> of the exception.</param> public ODataException(ODataExceptionCode code) : base(String.Format("An exception occured during the processing an OData request. Code: {0} ({1})", Convert.ToInt32(code), code.ToString())) { Initialize(code); }
/// <summary> /// Initializes a new instance of the ODataException with the given parameters. /// </summary> /// <param name="code">The <see cref="ODataExceptionCode"/> of the exception.</param> /// <param name="inner">The wrapped exception.</param> public ODataException(ODataExceptionCode code, Exception inner) : base(GetRelevantMessage(inner), inner) { Initialize(code); }