📌  相关文章
📜  第 17 天:javascript 中的更多异常hackerrank 解决方案(1)

📅  最后修改于: 2023-12-03 15:11:29.296000             🧑  作者: Mango

第 17 天:Javascript 中的更多异常 Hackerrank 解决方案

在编写 JavaScript 代码时,经常会遇到许多异常,这些异常可能会导致程序运行时崩溃。为了避免这种情况发生,开发人员可以使用 try/catch 块来捕获这些异常。

在这篇文章中,我们将探讨在 Hackerrank 上更多的 JavaScript 异常。我们将讨论常见的异常和如何使用 try/catch 块来捕获它们。

常见异常

以下是在 JavaScript 中常见的异常:

TypeError

当使用 null 或 undefined 进行操作时,将抛出 TypeError 异常。另外,当对不能进行迭代的对象使用迭代器时,也会抛出 TypeError 异常。

以下是一个抛出 TypeError 异常的示例:

let obj = null;
obj.foo(); // Uncaught TypeError: Cannot read property 'foo' of null

用 try/catch 块捕获 TypeError 异常的代码如下:

try {
  let obj = null;
  obj.foo();
} catch (err) {
  console.log('Caught TypeError: ', err.message);
}
SyntaxError

当代码中有语法错误时,将抛出 SyntaxError 异常。

以下是一个抛出 SyntaxError 异常的示例:

let x = 10;
if (x == 10 {
  console.log('x is equal to 10');
}

用 try/catch 块捕获 SyntaxError 异常的代码如下:

try {
  let x = 10;
  if (x == 10 {
    console.log('x is equal to 10');
  }
} catch (err) {
  console.log('Caught SyntaxError: ', err.message);
}
ReferenceError

当试图访问未定义的变量时,将抛出 ReferenceError 异常。

以下是一个抛出 ReferenceError 异常的示例:

console.log(x); // Uncaught ReferenceError: x is not defined

用 try/catch 块捕获 ReferenceError 异常的代码如下:

try {
  console.log(x);
} catch (err) {
  console.log('Caught ReferenceError: ', err.message);
}
Hackerrank 解决方案

Hackerrank 是一个流行的在线编程平台,开发人员可以在上面练习编程技能。它提供了许多编程挑战,包括 JavaScript。

以下是使用 try/catch 块解决 Hackerrank 挑战中常见异常的示例:

1. 捕获 TypeError 异常

在以下代码段中,我们将尝试对一个字符串调用 toUpperCase() 方法。由于 toUpperCase() 是一个字符串方法,它不适用于数字。

try {
  let num = 123;
  num.toUpperCase();
} catch (err) {
  console.log('Caught TypeError: ', err.message);
}
2. 捕获 SyntaxError 异常

在以下代码段中,我们将尝试使用反向斜杠字符来转义引号。这是语法错误。

try {
  let str = 'This is a string with a \' quote in it';
  console.log(str);
} catch (err) {
  console.log('Caught SyntaxError: ', err.message);
}
3. 捕获 ReferenceError 异常

在以下代码段中,我们将尝试输出未定义的变量。

try {
  console.log(x);
} catch (err) {
  console.log('Caught ReferenceError: ', err.message);
}

总结:

JavaScript 代码中常常会发生异常,出现异常后会导致程序的崩溃,为了防止这种情况,我们可以使用 try/catch 块来捕获这些异常。在 Hackerrank 上,我们可以使用 try/catch 块解决常见的 JavaScript 异常问题。