localbase icon indicating copy to clipboard operation
localbase copied to clipboard

While making a invalid query error is not handle in catch block

Open sulaimaan26 opened this issue 4 years ago • 3 comments

This is not handled properly.

For example, we need to check some data is exist in the collection or not. if it does not exist it should throw an error and can be properly handled try-catch but the error is displayed only in the console doesn't go to catch block

Only console. error is done not an exception is thrown

Steps to Reproduce

  1. Launch URL https://sulaimaan26.github.io/
  2. Open browser dev tools and proceed to console
  3. Look for any error
  4. Refresh the page
  5. Now only one error will be displayed in the console
  6. This is console.error which is displayed for an invalid query made
  7. Now proceed to the source tab and view app.js file

In app.js file you could see there is two query doc search based on id one is valid and another one is invalid inside a try-catch block. For an invalid search, the only console.error is thrown not an error exception which is not handled by the catch block.

However, the function returns undefined as return value where the user can validate with it but it will be good if error exception is thrown same like RDBMS database

sulaimaan26 avatar Dec 29 '20 10:12 sulaimaan26

@sulaimaan26 Can you provide example code for recreation?

dannyconnell avatar Dec 30 '20 08:12 dannyconnell

@sulaimaan26 Can you provide an example code for recreation?

@dannyconnell I have updated the issue description. Refer to it

sulaimaan26 avatar Dec 30 '20 09:12 sulaimaan26

If you try check for an unexistent collection, it create a new collection and doesnt throw error

    async function getUsers() {
      try {
        let users = await db
          .collection('users') // nonexistent collection
          .orderBy('age')
          .get();
        console.log('users: ', users); // it shows an empty collection called users
      } catch (error) {
        console.log('error: ', error); // the catch isnt reached
      }
    }

larskuerten avatar Jan 20 '21 00:01 larskuerten