Perchè mi dice che non c'è il return?? Non riesco a capire dove sta il problema!

codice:
//il metodo aggiunge il prodotto garantendo l'integrità e restituisce un
//messaggio in Stringa a seconda delle situazioni
  public String setElementi(String pathXML, Prodotto prod){
    try {
      File xml = new File(pathXML);
      Element root;
      Document doc;
      String msg = "";

//costruisco prodotto da inserire nel file XML
      Element prodotto = costruisciProdotto(prod.getImage(), prod.getMarca(),
                                            prod.getNome(),
                                            prod.getDescrizione(),
                                            prod.getPrezzoString(),
                                            prod.getQuantitaString(),
                                            prod.getID());

//l'inserimento dipende dall'esistenza del file
      //se non esiste creo da 0
      if (!xml.exists()) {
        root = new Element("categorie");
        doc = new Document(root);
        root.addContent(prodotto);
        msg = "E' stata creata una nuova categoria";
      }
      //altrimenti occorre appendere il nuovo prodotto e controllare
      //se esiste già (metodo search) aggiungere soltanto la quantità
      else {
        SAXBuilder builder = new SAXBuilder();
        doc = builder.build(pathXML);
        root = doc.getRootElement();
        Element padre = search(root, prod.getMarca()+" "+ prod.getNome());
        if (padre != null) {
          int currentDisponibilita = Integer.parseInt(
              padre.getAttributeValue("disponibilita"));
          int nuovaDisponibilita = currentDisponibilita + prod.getQuantita();
          padre.setAttribute("disponibilita", nuovaDisponibilita + "");
          msg = "Il prodotto era già presente nel catalogo. La nuova disponibilità è cambiata da " +
              currentDisponibilita + " a " + nuovaDisponibilita;
        }
        else {
          root.addContent(prodotto);
          msg = "Il nuovo prodotto è stato inserito con successo";
        }

      }//else

      XMLOutputter outputter = new XMLOutputter();
      outputter.output(doc, new FileOutputStream(xml));
      return msg;
      
    }//try
    catch (JDOMException je) {
      System.out.println("Eccezione JDOM durante la lettura del documento XML");
    }//cath
    catch (IOException ie) {
      System.out.println("Eccezione di IO durante la lettura del documento XML");
    }//catch
    
  }//setElementi