代码分析:CA2200 再次引发以保留堆栈详细信息
以下代码,如果使用 throw e ,运行代码分析会提示如下警告,如果直接 throw 则不会提示警告
static void Main(string[] args) { try { MemoryStream ms = new MemoryStream(16); ms.Close(); try { ms.ReadByte(); } catch (ObjectDisposedException e) { Console.WriteLine("错误信息: {0},堆栈信息:{1}", e.Message, e.StackTrace); //throw e; 不好的做法 throw; //好的做法 } } catch(Exception ex) { Console.WriteLine(); Console.WriteLine("错误信息: {0},堆栈信息:{1}", ex.Message, ex.StackTrace); } Console.ReadLine(); }


浙公网安备 33010602011771号