我有一个带有方法的类,我想在方法中抛出异常。在这里,我想引用抛出异常的方法和类,以便更容易地找到错误的来源。
public class SomeClass
{
public void SomeMethod()
{
(..)
Throw new Exception("An error occurred. Method:" + ?? + ", Class:" + ?? +");
}
答案 0 :(得分:3)
你不需要这样做。查看StackTrace
块中异常的try-catch
属性。
答案 1 :(得分:2)
该信息已经存在于堆栈跟踪中。也没有必要在消息中包含它。
如果你绝对 ,那就是MethodBase.GetCurrentMethod()
。对于类,您是否需要调用该方法的执行时对象的类,或者实际执行的方法? (我会坚持堆栈跟踪但是......)
答案 2 :(得分:1)
您实际上已经拥有了所有这些信息,只需要通过Exception的StackTrace属性访问它,例如:
try
{
// to do something exceptional
}
catch (Exception ex)
{
Console.WriteLine(ex.StackTrace);
}
此示例只是写入标准输出,但您可以对所需的StackTrace信息执行任何操作,包括将其记录到文件或数据库。
答案 3 :(得分:0)
您实际上可以使用StackTrace类。