The try-catch
construct is used
to catch exceptions. It has the following
syntax:
try {
// a code
} catch (error) {
// an error handling
}
The try
-block should contain code
that may contain an exception. If suddenly
an exception occurs when executing this code,
then our script will not crash with an error
in the console, but the code of the
catch
-block will be executed.
In this block, we must somehow adequately
react to the error. For example, if we
wanted to send some data via the Internet
and the Internet does not work, in a
catch
-block we can somehow handle
the situation: we can, for example, display
a message to an user, or we can try to send
this data again - suddenly the Internet is
already working.
If, however, no exceptions occurred during
the execution of a try
-block, then
the useful code will simply be executed,
while the code from a catch
block will not.
For example, let's try to parse JSON and, if it is invalid, we will display a message about it on the screen:
try {
let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
alert('unable to parse JSON');
}
Given a code that save some string to a local storage:
let str = 'some string';
localStorage.setItem('key', str);
Wrap this code in a try-catch
construct. In the catch
-block,
display a message about storage
overflow. Test your code for a string
smaller than 5
MB and for a
larger string.
Given a JSON containing an array. If this
JSON is correct, then output the elements
of the array as a ul
list. If the
JSON is not valid, display a message on
the screen saying that an error has
occurred on the page.