C#显示“并非所有的代码路径都有返回值”请问这是什么错误?

 

 public bool SendModbusData(ref byte[] values)
        {
            string result = string.Join(",", values);
            if (serialPort1.IsOpen)
            {
                //Clear in/out buffers:
                serialPort1.DiscardOutBuffer();//清空发送、接收缓冲区字节
                serialPort1.DiscardInBuffer();
                textBox1.Text = result;
                //Function 3 response buffer:
                byte[] response = new byte[values.Length + 2];
                //把value数组复制到response数组
                Array.Copy(values, response, values.Length);

                byte[] CRC = new byte[2];
                GetCRC(response, ref CRC);

                response[0] = Convert.ToByte(response[0]);//地址
                response[1] = Convert.ToByte(response[1]);//功能
                //values[2] = (byte)(Convert.ToByte(values[2])>>8);//寄存器地址
                response[2] = Convert.ToByte(response[2]);
                response[3] = Convert.ToByte(response[3]);
                //values[2] = (byte)(Convert.ToByte(values[]) >> 8);//寄存器个数
                response[4] = Convert.ToByte(response[4]);
                response[5] = Convert.ToByte(response[5]);
                response[response.Length - 2] = CRC[0];
                response[response.Length - 1] = CRC[1];
                values = response; //返回带有 CRC 验证的modbus 数据包
                //Console.WriteLine(values.Length);
                //for (int i = 0; i < values.Length; i++)
                //{
                //    Console.WriteLine(values[i]);//控制台输出打包后的Modbus数据
                //}

                //Send modbus message to Serial Port:
                try
                {
                    serialPort1.Write(values, 0, values.Length);
                    return true;
                }
                catch (Exception)
                {
                    return false;
                  
                }

            }
        }

这是程序的代码,请大神帮我看看

漏了一个return,有一种情况没有返回值