что произойдет, когда я использую dynamicinvoke с обратным вызовом, и во время выполнения функции возникла исключительная ситуация? - PullRequest
0 голосов
/ 22 сентября 2019

у меня есть уже существующий код, который мне нужно обернуть действием, которое должно происходить всегда, у меня есть callbact для динамического вызова, я хочу реализовать действие там, но что мне делать, если динамическое действие вызывает исключение

, в каких случаях обратный вызов не будет запущен?

Допустим, у меня есть функция делегата

    public delegate void SomeFunc();

Я хочу вызвать динамический вызов с обратным вызовом

    public void ExecutedTask()
    {
        //some task that throw exception...
    }

    private void Callback(IAsyncResult result)
    {
        //this should allways be called!
    }

    public void action()
    {
        SomeFunc worker = new SomeFunc(ExecutedTask);
        try{
        worker.BeginInvoke(Callback,null);
        }
        catch(exception ex) // which exceptions should i catch???
        {
            Callback(null);
        }
    }

Будет ли обратный вызов всегда выполняться?какие исключения я должен обработать в try catch?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...