我应该如何将错误消息传递给 top 方法
本文关键字:top 方法 消息传递 错误 我应该 | 更新日期: 2023-09-27 18:33:41
方法有一些方法,也有一些方法有其他方法。
我应该如何将错误消息传递给 top 方法以在窗口或对话框中显示消息?
它可能不是错误消息,而是警告消息或其他内容。
如果你给我一个关于 ASP.NET MVC的建议,那就太好了。在 MVC ASP.NET 中,操作方法将是最重要的。
一种可能性是使用 TryXXX
模式:
public bool TryXXX(InputType input, out ResultType result, out string errorMessage);
在控制器中:
public ActionResult Foo()
{
ResultType result;
out string errorMessage;
if (!TryXXX(input, out result, out errorMessage))
{
ModelState.AddModelError("", errorMessage);
return View();
}
// here you could use the result
...
}
另一种可能性是将ModelState
传递给较低层,这些层将负责向其添加错误消息,以便在控制器操作中,您只需在调用某个方法后检查ModelState.IsValid
。
另一种可能性是使用异常,但请记住,异常应仅用于处理异常情况。应避免使用它们来处理业务验证。
确实有不同的方法,这完全取决于您到底想做什么。
最简单的事情是,您可以单独使用最高方法进行一次尝试捕获。
关于MVC和 asp.net,您不希望向最终用户显示错误。最好通过在表单中预先进行验证来防止警告。
最后,如果您确实需要向最终用户显示警告,那么:
- 创建一个名为字符串"警告消息"的公共变量
- 在流程开始之前重置值
- 将警告赋值/追加到每个方法中具有警告的变量
- 检查警告消息在返回视图中是否有价值。
- 如果它有值,则显示消息
在
您想要的位置抛出自定义异常
throw new Exception("Message");
默认情况下,异常将一直冒泡到堆栈的顶部(即显示服务器错误页面),除非您在代码中的某个位置捕获它
try{
//code
} catch (Exception e) {
//use exception to display the message
}
异常可以从任何子方法引发并由父方法捕获
在内部方法中使用:
HttpContext.Current.AddError(new Exception("error Message"));
在控制器方法中:
foreach (var item in HttpContext.AllErrors)
{
//item is Exception
}
这可以使用Javascript非常容易地完成
var errorflag= false;
var msg='';
if(Failedcondition){
errorflag=true;
msg='Please verfiy first.';
}
if(SecondFailedCondition){
errorflag=true;
msg='Please verfiy first.';
}
else
{
other conditions
}