我正在用 C++11 编写一个小程序,并且第一次真正使用异常。
我有一个关于如何有效捕获异常的问题,经过一番谷歌搜索后,我仍然没有答案。
这是一个问题:通过(const?)左值引用或(const?)右值引用捕获异常之间更有效(或推荐)的是什么?
在代码中,这给出:
1)
try { throw std::exception{"what"}; }
catch (std::exception& ex) {}
2)
try { throw std::exception{"what"}; }
catch (const std::exception& ex) {}
3)
try { throw std::exception{"what"}; }
catch (std::exception&& ex) {}
4)
try { throw std::exception{"what"}; }
catch (const std::exception&& ex) {}