当前位置: 首页>>代码示例>>C++>>正文


C++ promise::set_exception方法代码示例

本文整理汇总了C++中std::promise::set_exception方法的典型用法代码示例。如果您正苦于以下问题:C++ promise::set_exception方法的具体用法?C++ promise::set_exception怎么用?C++ promise::set_exception使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在std::promise的用法示例。


在下文中一共展示了promise::set_exception方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: op

 void op()  // GB was operator
 {
     try {
         promise.set_value(f());
     } catch(...) {
         promise.set_exception(std::current_exception());
     }
 }
开发者ID:sarout,项目名称:SenecaOOP345-attic,代码行数:8,代码来源:f-pt.cpp

示例2: doSomething

void doSomething (std::promise<std::string>& p)
{
    try {
        // read character and throw exception if 'x'
        std::cout << "read char ('x' for exception): ";
        char c = std::cin.get();
        if (c == 'x') {
            throw std::runtime_error(std::string("char ")+c+" read");
        }
        //...
        std::string s = std::string("char ") + c + " processed";
        p.set_value(std::move(s));    // store result
    }
    catch (...) {
        p.set_exception(std::current_exception());  // store exception
    }
}
开发者ID:CCJY,项目名称:coliru,代码行数:17,代码来源:main.cpp

示例3: operator

                void operator()() {
                    osmium::thread::set_thread_name("_osmium_write");

                    try {
                        while (true) {
                            std::string data = m_queue.pop();
                            if (at_end_of_data(data)) {
                                break;
                            }
                            m_compressor->write(data);
                        }
                        m_compressor->close();
                        m_promise.set_value(true);
                    } catch (...) {
                        m_promise.set_exception(std::current_exception());
                        m_queue.drain();
                    }
                }
开发者ID:7ute,项目名称:osrm-backend,代码行数:18,代码来源:write_thread.hpp

示例4: set_exception

	/**
	*	@brief	Signals the fence
	*
	*	@param	e		Exception to set the fence to
	*/
	void set_exception(const std::exception_ptr &e) {
		promise.set_exception(e);
	}
开发者ID:ssteinberg,项目名称:ste,代码行数:8,代码来源:shared_fence.hpp

示例5: func6

void func6(std::promise<void> p)
{
    std::this_thread::sleep_for(std::chrono::milliseconds(500));
    p.set_exception(std::make_exception_ptr('c'));
}
开发者ID:AstroVPK,项目名称:LLVM-4.0.0,代码行数:5,代码来源:get.pass.cpp

示例6: func4

void func4(std::promise<int&> p)
{
    std::this_thread::sleep_for(std::chrono::milliseconds(500));
    p.set_exception(std::make_exception_ptr(3.5));
}
开发者ID:AstroVPK,项目名称:LLVM-4.0.0,代码行数:5,代码来源:get.pass.cpp


注:本文中的std::promise::set_exception方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。