Java exception: throw back ou envoyer par retour (fonction de sortie)?

Ici est l'utilisation: je suis en train d'écrire des classes et des fonctions qui sont conçus pour exécuter une fonction spécifique/tâche (par exemple createBuilding, destroyBuilding etc). La conception que je suis, c'est que la fonction ne pas traiter/gérer toute erreur de scénario. Sa la responsabilité de l'appelant à prendre les mesures appropriées, dans le cas où il y a une erreur/exception. Je peux le faire de deux façons:

public void caller {
  try {
      A.createBuilding();
  catch (Exception e) {
      process exception
  }
}

Première approche:

public class A {
   public String createBuilding throws Exception {
     try {
        blah blah blah
     catch (Exception e) {
        throw new Exception(e);
     }
}

Deuxième approche:

public class A {
   public String createBuilding {
     StringBuffer sb = new StringBuffer();
     try {
        blah blah blah
     catch (Exception e) {
        sb.add(e.toString());
     }
     return sb.toString();
}

The user in the second case does the following:
public void caller throws Exception {
      String st = A.createBuilding();
      if (st.contains("Exception"))
        do something;
}

Supposons que la fonction appelée renvoie toujours une chaîne de caractères.

Des commentaires sur l'approche qui est mieux? Tout pièges/questions je suis dominant?

Reconnaissant de toute l'aide!!!

OriginalL'auteur Rahul | 2011-08-26