code: function CFClientException(err, cause) {
      var rtn = {
          name: 'CFClientException',
          type: 'CFClientException',
          message: '',
          cause: cause,
          fileName: 'cfclient.js',
          lineNumber: '',
          stack: '',
          toString: function () {
              return this.message + ' ::: ' + this.cause;
          }
      };
  
      if (typeof err === 'object' && err.name === 'Error') {
          rtn.name = err.name;
          rtn.message = err.message;
          rtn.fileName = err.fileName || 'cfclient.js';
          rtn.lineNumber = err.lineNumber;
          rtn.stack = err.stack;
      }
      return rtn;
  }
docs: Custom exception
  
  @param {String} err
  @param {String} cause
  @returns {object} CFClientException that can be accessed for more information
  properties are:
  <ul>
  <li><b>name</b> name of the error</li>
  <li><b>type</b> 'CFClientException'</li>
  <li><b>message</b> message provided when error was generated</li>
  <li><b>cause</b> deeper cause</li>
  <li><b>fileName</b> 'cfclient.js'</li>
  <li><b>lineNumber</b> line number of exception (if provided)</li>
  <li><b>stack</b> call stack of error</li>
  <li><b>toString()</b> clean print of message + cause</li>
  </ul>