抛出问题

以前一直困惑,在下面的代码中,进行try catch的意义是什么?js引擎不是会自己抛出错误吗?为什么还要多此一举手动捕获打印呢?

const TodoListContainer = () => {
  const [todos, setTodos] = useState([]);

  useEffect(() => {
    const fetchData = async () => {
      try {
        const response = await fetch('https://jsonplaceholder.typicode.com/todos');
        const data = await response.json();
        setTodos(data.slice(0, 5));
      } catch (error) {
        console.error('Error fetching todos:', error);
      }
    };

    fetchData();
  }, []);

  return <TodoList todos={todos} />;
};

解决问题

现在我才明白,这样做有以下好处:

  1. 有些错误会导致程序崩溃,用了try catch可以避免。
  2. 在捕获了错误时,你有机会对其进行修复。
  3. 你可以在catch中打印提供更有用的信息来帮助处理错误。

热饭班长
3.7k 声望434 粉丝

先去做,做出一坨狗屎,再改进。