使用命名函数,可以指定可以抛出的异常。如在
void func(void) throw (string);
如何在c ++ lambda函数中指定异常?
答案 0 :(得分:2)
真的一样。 [expr.prim.lambda]中lambda的相关语法是:
λ-表达:
lambda-introducer lambda-declarator opt compound-statementλ-导引:
[
lambda-capture opt]
λ-说明符:
(
parameter-declaration-clause)
mutable
opt
例外规范 opt attribute-specifier-seq opt trailing-return-type <子>选择子>
您可以在参数后面提供可选的例外规范。例如:
auto never_throws = []() noexcept {
return 5;
};
int i = never_throws(); // won't throw