|
|
1
44
您可以使用一个技巧:
以此类推,对于你认为可能被抛出的不同类型。如果你真的对可能被扔的东西一无所知,那么即使是倒数第二个也是错误的,因为有人可能会扔一个
一般来说,扔掉任何不是垃圾的东西都是个坏主意
|
|
|
2
5
该块可能会捕获int、const char*或任何内容。编译器怎么可能知道如何描述一个一无所知的东西呢?如果要从异常中获取信息,必须知道类型。 |
|
|
3
4
否则,正如DeadMG所写的,既然你可以扔(几乎)所有的东西,你就不能假设你抓到了什么。 通常情况下,catch(…)只能在使用写得不好或有文档记录的外部库时用作最后的防御措施。所以你会使用层次结构
|
|
|
4
3
由于C++ 11,您可以用指针捕获当前异常:
稍后(甚至可能在不同的函数中)您可以按照与当前最重要答案类似的方式执行操作:
|
|
|
5
2
我们实现异常的方式是,我们有自己的异常类,它们都是从
我们的例外将包含 异常消息、函数名、文件名和行 生成异常的位置。这些都很有用,不仅可以显示消息,还可以用于 这有助于非常容易地诊断异常。所以,我们得到了生成的异常的全部信息。 我们 |
|
|
6
2
|
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |