Possible Duplicate:
difference between throw and throw new Exception()

如果只有一件事有什么意义呢?

catch (Exception)
{
    throw;
}

这是做什么用的?

推荐答案

throw关键字本身只是重新引发上面catch语句捕获的异常.如果您想做一些基本的异常处理(可能是一个补偿操作,比如回滚事务),然后将异常重新提交给调用方法,这非常方便.

与捕获变量中的异常并抛出该实例相比,此方法有一个显着的优势:它保留了原始调用堆栈.如果您捕获(异常ex),然后抛出ex,则调用堆栈将仅从抛出语句开始,且您将丢失原始错误方法/行.

.net相关问答推荐

ASP.NET核心最小API必须以正斜杠开头吗?

.NET Async / Await:状态机如何知道何时继续执行?

PowerShell - 如果用户输入凭据,则查询 AD 时出错

是否存在指定的(子)索引分隔符?

从 byte[] 创建 zip 文件

Environment.TickCount 与 DateTime.Now

Style 和 ControlTemplate 的区别

在 C# DllImport 中使用 32 位或 64 位 dll

如何以编程方式 Select ListView 中的项目?

struct 中需要覆盖什么以确保平等正常运行?

如何在 C# 中序列化异常对象?

如何在 C# 中以编程方式安装 Windows 服务?

ReaderWriterLockSlim 什么时候比简单的锁更好?

Moq - 不可覆盖的成员不能用于设置/验证表达式

我应该如何删除 DbSet 中的所有元素?

并发字典正确用法

IEnumerable vs IReadonlyCollection vs ReadonlyCollection 用于公开列表成员

如何使用 NPOI 读取文件

序列化和反序列化 .NET 对象的最快方法

MVVM 没有意义吗?