gpt4 book ai didi

asp.net-mvc-4 - 如何错误处理NullReferenceException

转载 作者:行者123 更新时间:2023-12-03 07:59:27 26 4
gpt4 key购买 nike

我的网站关闭了几天,因此当MVC应用程序无法访问某些资源时,我试图进行一些错误处理,因此,如果某些内容不再变得不可用,则不必关闭整个系统。

目前, Controller 正在尝试访问viewbag.moreNewProducts尚不可用的产品。

public ActionResult Index(string search)
{
string[] newProductLines = this.getMoreNewProducts();
string[] newNews = this.getMoreNews();
string[] newPromotions = this.getMorePromotions();
string[] fewerProductLines = this.getLessNewProducts(newProductLines);
ViewBag.moreNewProducts = newProductLines;
ViewBag.moreNews = newNews;
ViewBag.morePromotions = newPromotions;
ViewBag.lessNewProducts = fewerProductLines;
bool disableShowMore = false;

这是我遇到错误的地方:“foreach(newProductLines中的字符串行)”
public string[] getLessNewProducts(string[] newProductLines)
{
int charCount = 0;
int arrayCount = 0;
string[] displayProductLines = new string[6];
bool continueWriting;

if (newProductLines == null)
{

foreach (string line in newProductLines)
{
continueWriting = false;
for (int i = 0; charCount < 250 && i < line.Length && arrayCount < 5; i++)
{
string index = newProductLines[arrayCount].Substring(i, 1);
displayProductLines[arrayCount] += index;
charCount++;
continueWriting = true;
}
if (continueWriting == true)
{
arrayCount++;
}
}
string[] LessNewProducts = new string[arrayCount];
for (int d = 0; d < arrayCount; d++)
{
LessNewProducts[d] = displayProductLines[d];
}
return LessNewProducts;

}

else
{
return null;
}




}

我如何绕过if else语句,这样整个事情就不必崩溃了?

最佳答案

两件事情。

  • 您的if (newProductLines == null)语句条件错误。我不相信如果newProductLines为null则不想输入。您可以逆转此条件以获得所需的结果(if (newProductLines != null))。


  • 如果稍后在遇到其他需要捕获错误的情况时,可以始终使用try-catch块捕获所需的异常。

  • try
    {
    //code that could cause the error here
    }
    catch(NullReferenceException nullRefExcep)
    {
    //what you want it to do if the null reference exception occurs
    }

    关于asp.net-mvc-4 - 如何错误处理NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31880496/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com