【发布时间】:2020-07-08 18:57:38
【问题描述】:
我有一个简单的 Rest Web 服务,它随机引发异常(内部服务器错误)。 当我在 50.000 次迭代循环中的控制台程序中强调此 Web api 时,我注意到了这一点。 我在这个客户端中得到了什么:
{StatusCode:500,ReasonPhrase:“内部服务器错误”,版本:1.1,
我想要的是得到这个错误 500 的详细信息。 但是我无法在我的控制器中捕获它,代码没有进入捕获中。 控制器代码:
[HttpPost]
[Route("{IdLog}/message")]
public string CreateLogMsg(long IdLog, [FromBody] TlogLineDTO oLogLine)
{
long lTmp = 0;
try
{
if (ModelState.IsValid)
{
string sTmp = _oExploitBll.InsertNewLogLine(oLogLine).ToString();
if (!long.TryParse(sTmp, out lTmp))
{
// Create a new file
Random rnd = new Random();
using (System.IO.StreamWriter sw = System.IO.File.AppendText(@"E:\Temp\20200707\REF_" + rnd.Next().ToString() + ".txt"))
{
sw.WriteLine(sTmp);
}
}
return sTmp;
}
else
{
// Create a new file where to put the error message
Random rnd = new Random();
using (System.IO.StreamWriter sw = System.IO.File.AppendText(@"E:\Temp\20200707\REF_" + rnd.Next().ToString() + ".txt"))
{
sw.WriteLine("Ko");
}
return "Ko";
}
}
catch (Exception ex)
{
string sMsgErr = ex.Message + "-" + ex.StackTrace;
// Create a new file
Random rnd = new Random();
using (System.IO.StreamWriter sw = System.IO.File.AppendText(@"E:\Temp\20200707\REF_" + rnd.Next().ToString() + ".txt"))
{
sw.WriteLine(sMsgErr);
}
return "0";
}
}
我怎样才能让它进入陷阱? 有人有想法吗?
非常感谢。
埃里克
【问题讨论】:
-
使用断点来调试你的代码:)
-
Akbar Asghari:感谢您的评论。如果我没有被困在其中几天,我会觉得很有趣。
标签: c# rest web-services try-catch