抛出问题
以前一直困惑,在下面的代码中,进行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} />;
};
解决问题
现在我才明白,这样做有以下好处:
- 有些错误会导致程序崩溃,用了
try catch
可以避免。 - 在捕获了错误时,你有机会对其进行修复。
- 你可以在
catch
中打印提供更有用的信息来帮助处理错误。