Рассмотрим следующий (не работающий) код:
#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
и сохранить несколько нажатий клавиш.
Но это было бы хорошей идеей или я что-то упустил?