System.Exception是否有内置的抛出时间戳?

7

有没有办法从异常本身中提取抛出异常的时间,还是我需要手动添加这些信息到异常中?


1
通常在异常发生后(或者至少在几毫秒内)立即记录异常,您的日志将包含一个时间戳。您能否澄清为什么需要在Exception类本身上使用时间戳? - RB.
“刚才的”这个词不够好吗? - Jon
2个回答

10

Exception 对象中没有内置的 Timestamp 属性。您可以创建一个继承自 Exception 的新类,并添加自己的属性。

如果您正在将异常用作日志框架的参数,则可能希望直接在日志框架中处理时间戳(最可能使用 DateTime.Now / UtcNow)。


我猜这回答了我的问题,尽管它不是我希望得到的答案。我问这个问题的原因是为了避免在外部异常中 'catch->add timestamp->throw',但我想这是不可能的。 - mola

0

当出现异常并且您已经处理了它时,控制权将立即转移到捕获块,这正是异常发生的时间。

因此,捕获块中的第一行可以让您准确地获取使用日期对象时的时间(DateTime.Now.Time等)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接