麻烦帮我看一下有什么错,我是新手,改了一个晚上也没改出来
 public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            button1.Enabled = false;
            button2.Enabled = true;
            long l = 1000;
            try
            {
                l = Convert.ToInt64(textBox1.Text);
            }
            catch { }
            backgroundWorker1.RunWorkerAsync(l);        }        private void button2_Click(object sender, EventArgs e)
        {
            //取消异步操作
            this.backgroundWorker1.CancelAsync();
            button2.Enabled = false;
        }
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                //获取产生本事件的backgroundWorker对象
                BackgroundWorker worker = sender as BackgroundWorker;
                //将计算结果赋给DoWorkEventArgs的Result属性
                //RunWorkerCompleted事件的处理方法将得到该值
                e.Result = LongTimeOperation((long)e.Argument, worker,  e);
            }
            catch (Exception e1)
            {
                Console.WriteLine("DoWork的错误是"+e1.Message);
            }
        }        private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            this.progressBar1.Value = e.ProgressPercentage;
        }        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            try
            {
                //首先处理出现错误或者异常的情形
                if (e.Error != null)
                {
                    MessageBox.Show(e.Error.Message, "Long Time Operation Sample");
                }
                else if (e.Cancelled)//处理被用户取消的情形
                {
                    MessageBox.Show("取消了操作", "Long Time Operation Sample");
                }
                else//得到正确结果
                {
                    MessageBox.Show("结果是:" + e.Result.ToString(), "Long Time Operation Sample");
                }
                button1.Enabled = true;
                button2.Enabled = false;
                this.progressBar1.Value = 0;            }
            catch (Exception e0)
            {
                Console.WriteLine("RunWorkerCompleted的错误为" + e0.Message);
            }
        }
            //进行实际工作的方法
            //进行循环加法计算
        
        private long LongTimeOperation(long maxNum,BackgroundWorker worker,DoWorkEventArgs e)
        {
            try
            {
                long result = 0;
                for (long l = 0; l < maxNum; ++l)
                {
                    //如果用户取消运算,则终止操作
                    if (worker.CancellationPending)
                    {
                        e.Cancel = true;
                    }
                    else
                    {
                        result += l;
                        //报告已经完成工作的百分比
                        int percentComplete = (int)((float)l / (float)maxNum * 100);
                        worker.ReportProgress(percentComplete);
                        //让出时间片给主线程
                        //Thread.Sleep(l);
                    }
                }
                return result;
            }
            catch (Exception e2)
            {
                Console.WriteLine("LongTimeOperation"+e2.Message);
            }
        }
错误:“进度.Form1.LongTimeOperation(long, System.ComponentModel.BackgroundWorker, System.ComponentModel.DoWorkEventArgs)”: 并非所有的代码路径都返回值