如题。 我虽然可能知道 ex.Message 但有时不知道是哪一行报出来的

解决方案 »

  1.   

    那就单步调试或者不要讨try{}catch,出错的话,vs会定位到那一行
      

  2.   

    错误信息都打印出来了还不知道哪行出错噶?
    实在不行你就加 return ,再实在不行你就加 断点,再实在不行你就一行一样的注释不就晓得了,你直接打印ex嘛,不只是打印Message 
      

  3.   

    ex.StackTrace.Substring(ex.StackTrace.IndexOf("行号"), ex.StackTrace.Length - ex.StackTrace.IndexOf("行号"))//或者
    Regex.Match(ex.StackTrace, "行号\\s(?<LineNumber>\\d*)").Groups["LineNumber"].Value
      

  4.   


    static void Main(string[] args)
    {
        try
        {
            throw new NullReferenceException();
        }
        catch (Exception ex)
        {
            Console.WriteLine(System.Text.RegularExpressions.Regex.Match(ex.StackTrace, @"行号\D+\d+").Value);
        }
        Console.ReadKey();
    }
      

  5.   

    try
    {
    throw new Exception();
    }
    catch (Exception e)
    {
    Console.WriteLine(e.StackTrace);
    }
      

  6.   

    都是高手啊!
    我用                 string sNum = ex.StackTrace.Substring(ex.StackTrace.IndexOf("行号"), ex.StackTrace.Length - ex.StackTrace.IndexOf("行号"));测试成功了