Как генерировать исключение, не теряя информацию, полученную в качестве параметра от бэкэнда - PullRequest
0 голосов
/ 12 февраля 2019

Моему приложению необходимо перехватить и отобразить исключение, пришедшее от серверной части в виде объекта исключения к клиентской части.Мне нужно распространить эту ошибку в качестве параметра на другие классы, установить флаги, выполнить необходимую очистку и, наконец, выдать исключение.Я не хочу терять трассировку стека и другую информацию.Я вижу, я не могу просто использовать throw e.Я не могу использовать просто throw либо, поскольку у меня есть объект исключения в качестве параметра.Может ли кто-нибудь помочь мне правильно бросить полученный предмет?

public void FunctionThatGetsExceptionAsparameter(Exception ex)
    {
        //The backend caught the exception, wrapped it and put in an object and then passed it to this function as a parameter 
        //calls function in other class by passing this object
        FunctionInOtherClass(ex);
    }

    public void FunctionInOtherClass(Exception ex)
    {
        if (ex != null)
        {
            //set some flags to perform some other BL because of exception happened in backend
            //send the object to higher layer class
            //calls function in higher layer class by passing this object
            FunctionInHigherLayerClass(ex);
        }

    }

    public void FunctionInHigherLayerClass(Exception ex)
    {
        //Throw the exception object to be caught by our application exception handler to display the standard exception box
        throw ex;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...