throw new EJBException("This author does not exist (got exception: " +e+")<br>");
throw new RemoteException("This author does not exist (got exception: " +e+")<br>");
  public String getComments(UserHome userHome, Integer userId)   {    Collection list;    String html;    CommentHome  cHome = null;    Comment      comment = null;    User user = null;    // Try to find the comments corresponding for this user    try     {      cHome = (CommentHome)PortableRemoteObject.narrow(initialContext.lookup("java:comp/env/ejb/Comment"),                                                       CommentHome.class);    }     catch (Exception e)    {      throw new EJBException("Cannot lookup Comment: " +e+"<br>");    }        utx = sessionContext.getUserTransaction();    try     {      utx.begin();      list = cHome.findByToUser(userId);      if (list.isEmpty())       html = "<h3>There is no comment yet for this user.</h3><br>";      else      {        html = "<br><hr><br><h3>Comments for this user</h3><br>";        html = html.concat(printCommentHeader());        // Display each comment and the name of its author        Iterator it = list.iterator();        while (it.hasNext())        {          comment = (Comment)it.next();          String userName;          try          {            user = userHome.findByPrimaryKey(new UserPK(comment.getFromUserId()));            userName = user.getNickName();          }          catch (Exception e)          {            throw new EJBException("This author does not exist (got exception: " +e+")<br>");          }          html = html.concat(printComment(userName, comment));        }        html = html.concat(printCommentFooter());      }      utx.commit();    }     catch (Exception e)     {      try      {        utx.rollback();        throw new EJBException("Exception getting comment list: " + e +"<br>");      }      catch (Exception se)       {        throw new EJBException("Transaction rollback failed: " + e +"<br>");      }    }    return html;  }