相关疑难解决方法(0)

函数的try-catch语法之间的区别

我最近遇到了这个语法try-catchfor function.

struct A
{
  int a;

  A (int i) : a(i)  // normal syntax
  {
    try {}
    catch(...) {}
  }

  A ()   // something different
  try : a(0) {}
  catch(...) {}

  void foo ()  // normal function
  try {}
  catch(...) {}
};
Run Code Online (Sandbox Code Playgroud)

两种语法都有效.除了编码风格之外,这些语法之间是否有任何技术差异?在任何方面,语法之一是否优于其他语法?

c++ syntax try-catch function-try-block

43
推荐指数
2
解决办法
5595
查看次数

主要之前和之后的异常处理

是否可以在这些场景中处理异常:

  1. 在进入main()之前从构造函数抛出
  2. 离开main()后从析构函数抛出

c++ program-entry-point exception-handling

8
推荐指数
1
解决办法
1886
查看次数