<ChatGPT> try catch로 비동기 코드 에러를 잡을 수 있나요?
·
Flutter/챗지피티랑놀.기
try { throw Exception("에러!"); // 동기 에러} catch (e) { print("잡았다: $e"); // "잡았다: Exception: 에러!" 출력}Future.delayed(Duration(seconds: 1), () { throw Exception("비동기 에러!"); // 비동기 에러, 안 잡힘!});왜 비동기 에러가 안 잡히나?try-catch는 동기 코드(즉, 지금 당장 실행되는 코드)에서 발생한 에러만 잡을 수 있어요. 하지만 Future.delayed는 비동기 코드라서 나중에 실행되기 때문에, try-catch가 그 시점에 이미 끝난 상태예요.쉽게 비유로 이해하기try-catch는 낚싯대라고 생각해보세요. 물고기(에러)가 바로 물릴 때만 잡을 수 있어요.동기 ..