C++-C++中的catch中如何重新抛出异常?
一般的写法
try
{
}
catch(exeption& e)
{
//进行某些处理
throw e;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
一般的写法
try
{
}
catch(exeption& e)
{
//进行某些处理
throw e;
}
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
正常情况下是可以重新抛出异常的,不过在实现的过程中要特别小心。
你可以参考再探C++中异常的rethrow
try
{
....
}
catch(...)
{
.....
throw;
}
在catch中处理完成后直接使用throw就可以将catch所捕捉到的exception的原本直接向上层抛出。而如果像你代码中所写那样,“throw e;”中的并非是catch(exception& e)中的异常原本,而是其的一份副本。