首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C# - 获取引发异常的行号

在C#中,要获取引发异常的行号,可以使用StackTrace类。以下是一个示例:

代码语言:csharp
复制
using System;

namespace ExceptionExample
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                TestMethod();
            }
            catch (Exception ex)
            {
                Console.WriteLine("异常信息:" + ex.Message);
                Console.WriteLine("异常行号:" + GetExceptionLineNumber(ex));
            }
        }

        static void TestMethod()
        {
            throw new Exception("这是一个测试异常");
        }

        static int GetExceptionLineNumber(Exception ex)
        {
            System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(ex, true);
            System.Diagnostics.StackFrame sf = st.GetFrame(0);
            return sf.GetFileLineNumber();
        }
    }
}

在这个示例中,我们定义了一个TestMethod方法,它会抛出一个异常。在Main方法中,我们使用try-catch语句捕获异常,并调用GetExceptionLineNumber方法获取异常行号。GetExceptionLineNumber方法使用StackTrace类创建一个堆栈跟踪对象,并获取第一个堆栈帧。最后,我们使用GetFileLineNumber方法获取异常行号。

请注意,这个示例仅适用于C#编程语言。如果您需要了解其他编程语言或云计算领域的知识,请告诉我。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券