title: Correct handling of return data
body: <p>I have a question related to correct handling of returns of the DAO library I'm writing for one project. This library probably is going to be used by another people, and I want to do it correctly. How I should deal with return statements of the functions of my DAO?</p>
  
  <p><strong>Example 1</strong>
  I have function to getCustomer which should return String. In case a query doesn't return any result should I return null, an empty string or throw some kind of exception?</p>
  
  <p><strong>Example 2</strong>
  I have a function, <code>getCutomerList</code>, which returns a value of type ArrayList&lt;String>. In case a query doesn't return any result should I return null, an empty ArrayList or throw some exception?</p>
  
  <p><strong>Example 3</strong>
  Some SQL exception was detected, what should I do, throw exception or do <code>try</code>..<code>catch</code> of the block where it can occur?</p>
  
  <p>What is the "good" practice or "best" practice to apply in my case?</p>