C# (Web API Post方法)异常处理 [HttpPost] 公共IActionResult Post([FromBody]字符串值) { 字符串customMessage=“”; int userId=GetUserIdFromUserInfo(); //从输入字符串值重建有用的对象。 动态missionWinput=JsonConvert.DeserializeObject(值); 任务synopsis newMission=新任务synopsis(); 尝试 { newMission.MissionSynopsisName=MissionNewInput.MissionSynopsisName.Value; newMission.CreatedById=userId; newMission.UpdatedById=用户ID; Database.MissionSynopses.Add(newMission); SaveChanges(); } 捕获(异常对象) { 如果(exceptionObject.InnerException.Message .Contains(“MissionSynopsis\u MissionSynopsisName\u UniqueConstraint”)==true) { customMessage=“无法保存”; 对象httpFailRequestResultMessage=new{message=customMessage}; 返回BadRequest(httpFailRequestResultMessage); } } }
System.NullReferenceException:“对象引用未设置为对象的实例。”C# (Web API Post方法)异常处理 [HttpPost] 公共IActionResult Post([FromBody]字符串值) { 字符串customMessage=“”; int userId=GetUserIdFromUserInfo(); //从输入字符串值重建有用的对象。 动态missionWinput=JsonConvert.DeserializeObject(值); 任务synopsis newMission=新任务synopsis(); 尝试 { newMission.MissionSynopsisName=MissionNewInput.MissionSynopsisName.Value; newMission.CreatedById=userId; newMission.UpdatedById=用户ID; Database.MissionSynopses.Add(newMission); SaveChanges(); } 捕获(异常对象) { 如果(exceptionObject.InnerException.Message .Contains(“MissionSynopsis\u MissionSynopsisName\u UniqueConstraint”)==true) { customMessage=“无法保存”; 对象httpFailRequestResultMessage=new{message=customMessage}; 返回BadRequest(httpFailRequestResultMessage); } } },c#,post,asp.net-web-api,exception-handling,C#,Post,Asp.net Web Api,Exception Handling,System.NullReferenceException:“对象引用未设置为对象的实例。” 在catch部分的if语句中弹出。我如何解决这个问题 将其更改为exceptionObject?.InnerException?.Message?.Contains以防止任何属性nullInnerException很可能为null,因此无法访问消息。我尝试的exceptionObject?的可能重复。InnerException?消息?包含。但是它没有显示任何错误,相反,什么也没有发生,甚至自定义消息也
在catch部分的if语句中弹出。我如何解决这个问题 将其更改为
exceptionObject?.InnerException?.Message?.Contains
以防止任何属性null
InnerException
很可能为null,因此无法访问消息
。我尝试的exceptionObject?的可能重复。InnerException?消息?包含。但是它没有显示任何错误,相反,什么也没有发生,甚至自定义消息也没有。如何使InnerException不为null?
[HttpPost]
public IActionResult Post([FromBody]string value)
{
string customMessage = "";
int userId = GetUserIdFromUserInfo();
//Reconstruct a useful object from the input string value.
dynamic missionNewInput = JsonConvert.DeserializeObject<dynamic>(value);
MissionSynopsis newMission = new MissionSynopsis();
try
{
newMission.MissionSynopsisName = MissionNewInput.MissionSynopsisName.Value;
newMission.CreatedById = userId;
newMission.UpdatedById = userId;
Database.MissionSynopses.Add(newMission);
Database.SaveChanges();
}
catch (Exception exceptionObject)
{
if (exceptionObject.InnerException.Message
.Contains("MissionSynopsis_MissionSynopsisName_UniqueConstraint") == true)
{
customMessage = "Unable to save ";
object httpFailRequestResultMessage = new { message = customMessage };
return BadRequest(httpFailRequestResultMessage);
}
}
}