#include <boost/lexical_cast.hpp>
#include <string>
#include <stdexcept>
#include <iostream>
int N_size_file = 5000;
int N_MAX = 4500;
void f()
{
    if(N_size_file > N_MAX)
        throw std::runtime_error(  "check(): Hidden node count of "
                                    + boost::lexical_cast<std::string>(N_size_file)
                                    + " exceeds maximum allowed value of "
                                    + boost::lexical_cast<std::string>(N_MAX));
}
int main()
{
    try {
        f();
    } catch(const std::exception& e) {
        std::cout << "Caught exception: " << e.what() << '\n';
    }
}