--- id: P-REINFORCE-AI-ERROR-BOUNDARY category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 0.99 tags: [React, Patterns, Resilience, Reliability] last_reinforced: 2026-04-20 --- # [[Error-Boundary-Pattern]] (μ—λŸ¬ λ°”μš΄λ”λ¦¬ νŒ¨ν„΄) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "ν•˜λ‚˜μ˜ μ»΄ν¬λ„ŒνŠΈκ°€ λ¬΄λ„ˆμ§„λ‹€κ³  μ•± 전체가 ν­λ°œν•˜κ²Œ 두지 마라." ν•˜μœ„ μ»΄ν¬λ„ŒνŠΈμ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ μ—λŸ¬λ₯Ό κ°μ§€ν•˜μ—¬ 차단막을 치고, λŒ€μ‹  μš°μ•„ν•œ λŒ€μ²΄ ν™”λ©΄(Fallback UI)을 λ³΄μ—¬μ£ΌλŠ” μ›Ή ν”„λ‘ νŠΈμ—”λ“œμ˜ 방화벽이닀. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **The Core Problem**: λ¦¬μ•‘νŠΈμ—μ„œλŠ” λ Œλ”λ§ 쀑 λ°œμƒν•œ ν•˜λ‚˜μ˜ μ—λŸ¬κ°€ μ²˜λ¦¬λ˜μ§€ μ•ŠμœΌλ©΄ 전체 μ»΄ν¬λ„ŒνŠΈ νŠΈλ¦¬κ°€ ν•΄μ œλ˜μ–΄ 화면이 ν•˜μ–—κ²Œ 변함(White screen of death). - **Implementation**: - `componentDidCatch`와 `getDerivedStateFromError` 생λͺ…μ£ΌκΈ° λ©”μ„œλ“œλ₯Ό κ°€μ§„ 클래슀 μ»΄ν¬λ„ŒνŠΈλ‘œ κ΅¬ν˜„. - μ—λŸ¬ λ°œμƒ μ‹œ μƒνƒœλ₯Ό μ—…λ°μ΄νŠΈν•˜κ³  λΆ€λͺ¨ μͺ½μ—μ„œ μ—λŸ¬ 둜그λ₯Ό 전솑(Sentry λ“±). - **Graceful Degradation**: μ—λŸ¬κ°€ λ‚œ νŠΉμ • μœ„μ ―λ§Œ "데이터λ₯Ό λΆˆλŸ¬μ˜€μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€"라고 ν‘œμ‹œν•˜κ³  λ‚˜λ¨Έμ§€ μ•± κΈ°λŠ₯은 정상 μœ μ§€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (RL Update) - μ—λŸ¬ λ°”μš΄λ”λ¦¬λŠ” λ Œλ”λ§ 쀑 μ—λŸ¬λ§Œ 작으며, '비동기 호좜(API)'μ΄λ‚˜ '이벀트 ν•Έλ“€λŸ¬' λ‚΄λΆ€μ˜ μ—λŸ¬λŠ” μž‘μ§€ λͺ»ν•œλ‹€. λ”°λΌμ„œ 이듀은 λ³„λ„μ˜ `try-catch`λ‚˜ λ¦¬μ•‘νŠΈ 쿼리의 μ—λŸ¬ 핸듀링과 병행해야 ν•œλ‹€. μ΅œμ‹  νŒ¨ν„΄μ€ λͺ…λ Ήν˜•(Imperative) μ—λŸ¬ μ²˜λ¦¬μ™€ 선언적(Declarative) λ°”μš΄λ”λ¦¬λ₯Ό μ‘°λ°€ν•˜κ²Œ κ²°ν•©ν•˜λŠ” λ°©ν–₯으둜 κ°„λ‹€. ## πŸ”— 지식 μ—°κ²° (Graph) - Related: Reliability-Patterns , React-Advanced-Patterns - Analytics: Sentry-Error-Tracking