title: How to return a value from try, catch, and finally?
body: <p>So when I do a code of blocks inside a <code>try{}</code>, and I try to <code>return</code> a value, it tells me </p>
  
  <blockquote>
    <p>no return values</p>
  </blockquote>
  
  <pre><code>import org.w3c.dom.ranges.RangeException;
  
  
  public class Pg257E5 
  {
  public static void main(String[]args)
  {
      try
      {
          System.out.println(add(args));
      }
      catch(RangeException e)
      {
          e.printStackTrace();
      }
      finally
      {
          System.out.println("Thanks for using the program kiddo!");
      }
  }
  public static double add(String[] values)
  // shows a commpile error here that I don't have a return value
  {
      try
      {
          int length = values.length;
          double arrayValues[] = new double[length];
          double sum = 0;
          for(int i = 0; i&lt;length; i++)
          {
              arrayValues[i] = Double.parseDouble(values[i]);
              sum += arrayValues[i];
          }
          return sum; // I do have a return value here.
          // Is it because if the an exception occurs the codes in try stops and doesn't get to the return value?
      }
      catch(NumberFormatException e)
      {
          e.printStackTrace();
      }
      catch(RangeException e)
      {
          throw e;
      }
      finally
      {
          System.out.println("Thank you for using the program!");
          //so would I need to put a return value of type double here?
      }
  
  }
  }
  </code></pre>
  
  <p>My question is, how do you return a value when you are using <code>try</code> and <code>catch</code>?</p>