<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>에러·예외 on Game Server Services | Docs</title><link>/ko/articles/tech/error/</link><description>Recent content in 에러·예외 on Game Server Services | Docs</description><generator>Hugo</generator><language>ko</language><atom:link href="/ko/articles/tech/error/index.xml" rel="self" type="application/rss+xml"/><item><title>에러 핸들링 구현 패턴</title><link>/ko/articles/tech/error/pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/ko/articles/tech/error/pattern/</guid><description>&lt;p&gt;GS2 를 이용한 네트워크 기능 구현에서 에러 핸들링은 게임의 안정성과 사용자 경험(UX)에 직결됩니다.
여기서는 단순히 예외를 포착하는 데 그치지 않는 실전적인 구현 패턴을 소개합니다.&lt;/p&gt;
&lt;h2 id="1-에러-분류와-대응-방침"&gt;1. 에러 분류와 대응 방침&lt;a class="td-heading-self-link" href="#1-%ec%97%90%eb%9f%ac-%eb%b6%84%eb%a5%98%ec%99%80-%eb%8c%80%ec%9d%91-%eb%b0%a9%ec%b9%a8" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;GS2 의 예외는 그 성질에 따라 크게 3가지로 분류할 수 있습니다.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;분류&lt;/th&gt;
 &lt;th&gt;해당하는 예외 (예)&lt;/th&gt;
 &lt;th&gt;대응 방침&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;일시적인 에러&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;InternalServerError&lt;/code&gt;, &lt;code&gt;ServiceUnavailable&lt;/code&gt;, &lt;code&gt;RequestTimeout&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;자동 재시도&lt;/strong&gt;. 몇 차례 시도해도 안 되는 경우 에러 다이얼로그를 표시.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;로직/설정 에러&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BadRequest&lt;/code&gt;, &lt;code&gt;NotFound&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;개발 중에 해결해야 할 에러&lt;/strong&gt;. 릴리스 후에는 버그로 간주하여 로그를 수집하고, 사용자에게는 적절한 메시지를 표시.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;인증·상태 에러&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;Unauthorized&lt;/code&gt;, &lt;code&gt;Conflict&lt;/code&gt;, &lt;code&gt;QuotaLimitExceeded&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;특별한 복구 처리&lt;/strong&gt;가 필요. 재로그인이나 데이터 재동기화(도메인 재취득)를 수행.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="2-재시도-전략-구현지수-백오프"&gt;2. 재시도 전략 구현(지수 백오프)&lt;a class="td-heading-self-link" href="#2-%ec%9e%ac%ec%8b%9c%eb%8f%84-%ec%a0%84%eb%9e%b5-%ea%b5%ac%ed%98%84%ec%a7%80%ec%88%98-%eb%b0%b1%ec%98%a4%ed%94%84" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;서버의 과부하나 일시적인 네트워크 불안정으로 인한 에러에 대해서는 즉시 재시도하는 것이 아니라, 간격을 두고 재시도하는 &amp;ldquo;지수 백오프(Exponential Backoff)&amp;ldquo;가 권장됩니다.&lt;/p&gt;</description></item></channel></rss>