Modern JavaScript From The Beginning from Brad Traversy
const user = {email: 'jdoe@gmail.com'};
try {
// Produce a ReferenceError
// myFunction();
// Produce a TypeError
// null.myFunction();
// Will produce SyntaxError
// eval('Hello World');
// Will produce a URIError
// decodeURIComponent('%');
if(!user.name) {
//throw 'User has no name';
throw new SyntaxError('User has no name');
}
} catch(e) {
console.log(`User Error: ${e.message}`);
// console.log(e);
// console.log(e.message);
// console.log(e.name);
// console.log(e instanceof TypeError);
} finally {
console.log('Finally runs reguardless of result...');
}
console.log('Program continues...');
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>JavaScript Sandbox</title>
</head>
<body>
<script src="app.js"></script>
</body>
</html>