小编iam*_*oyd的帖子

我应该以哪种方式捕获异常?

我有一个带有自定义异常的模板类:

MyClass<T>::MyException;
Run Code Online (Sandbox Code Playgroud)

在使用我的类时,我只关心是否抛出了异常,因此我可以以编程方式处理它.因此,当我发现异常时,我不愿意为此命名.

try {
   MyClass<T>::MyMethod ();
} catch (typename MyClass<T>::MyException) {
   //Act appropriately
}
Run Code Online (Sandbox Code Playgroud)

我想知道添加引用运算符时是否有任何区别,例如

} catch (typename MyClass::MyException &) {
Run Code Online (Sandbox Code Playgroud)

在任何一种情况下,除了识别类型之外,我最终不会使用捕获的异常.一个与另一个有任何权衡或性能影响吗?

c++

2
推荐指数
1
解决办法
92
查看次数

标签 统计

c++ ×1