Функция, которая пробует свою функцию аргумента - это было бы даже хорошей идеей? - PullRequest
0 голосов
/ 17 марта 2020

Рассмотрим следующий (не работающий) код:

#include <iostream>

void tried_function()
{
    std::cout << "Hello world";
}

void try_function (std::function function_to_try)
{
    try
    {
        function_to_try();
    }
    catch(...)
    {
        //handle failed try here
    }
}

int main()
{
    try_function(tried_function);
    return 0;
}

Желаемый вывод:

Hello world!
or errorhandling

Вы можете расширить блок try, чтобы перехватывать наиболее распространенные исключения, и вместо записи несколько пробных блоков для всех видов вещей, которые вы могли бы просто использовать try_function и сохранить несколько нажатий клавиш.

Но это было бы хорошей идеей или я что-то упустил?

...