title: Help with Exception handling
body: <p>i have this application structure: 
  1. Presentation Layer which calls
  2. Business Logic Layer which in turn calls
  3. Data Access Layer to do the dealing with the database.</p>
  
  <p>Now i have a Contacts page from where i can add a new contact to the database.</p>
  
  <p>So to add a New Contact i fill in all the required details and then call a Add Method (residing in the BLL) from the page, which in turn call a Add Method residing in the DAL.</p>
  
  <p>this method in the DAL returns the Current Identity of the record which is then return back to the BLL method and finally delivered on the page.</p>
  
  <p>this is fine. but what if a get an exception how do i handle it properly because the method in DAL has a return type of int and i dont want to throw another error!! coz other wise i will have to write try catch in almost all the methods.</p>
  
  <pre><code>//something like this
  public int AddMethod(ContactClass contactObj)
  {
      int result = 0;
  
      try
      {
          result = ExecuteSomeSP("SPName", SP_Parameters);
      }
      catch(SQLException se)
      {
          throw new SQLException
      }
  
      return result;
  }
  </code></pre>
  
  <p>rather i want to show the user a user-friendly message which they can easily understand and in the mean while i will send a mail to myself documenting the Error that just occurred.</p>
  
  <p>Also kindly tell me how can i implement my custom exception classes.</p>
  
  <p>Please tell me how do i do this!!</p>
  
  <p>thank you.</p>