如何修复"并非所有代码路径都返回值"?

Ale*_*lex 0 c# arrays object

我有一个对象数组,我正在返回以不同的方法使用对象,但由于某种原因,它说"并非所有代码路径返回值"

这是代码....

private object[] runTests(string banText, object tabControlName, int runThisTest, string testName)
    {
        if (stopTests == false)
        {
            var tabPageBrowser = new TabPage();
            var Browser = new WebBrowser();

            (tabControlName as TabControl).TabPages.Add(tabPageBrowser);
            tabPageBrowser.Name = tabControlName.ToString();
            tabPageBrowser.Text = testName;
            tabPageBrowser.Font = new System.Drawing.Font("Trebuchet MS", 8.25F,
                System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            Browser.Dock = DockStyle.Fill;
            Browser.Url = new Uri(testStrings(runThisTest, banText));
            Browser.Name = tabControlName.ToString();
            Browser.ScriptErrorsSuppressed = true;
            tabPageBrowser.Controls.Add(Browser);

            try
            {
                while (Browser.ReadyState != WebBrowserReadyState.Complete)
                {
                    Application.DoEvents();
                }
            }
            catch
            {
                return null;
            }
            IntPtr pHandle = GetCurrentProcess();
            SetProcessWorkingSetSize(pHandle, -1, -1);

            object[] browserObjects = new object[2];
            browserObjects[0] = tabPageBrowser;
            browserObjects[1] = Browser;

            if (browserObjects != null)
            {
                return browserObjects;                    
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我不知道我做错了什么,你能帮忙吗?谢谢!

The*_*man 16

如果,该方法不返回

stopTests == true

- 要么 -

browserObjects == null

  • ...而且只是为了澄清 - C#中返回值**的每个方法都必须在每个代码路径的末尾都有一个显式的`return`语句(或抛出的异常). (3认同)