<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Error Handling on Game Server Services | Docs</title>
		<link>/ko/tags/error-handling/</link>
		<description>Recent content in Error Handling on Game Server Services | Docs</description>
		<generator>Hugo</generator>
		<language>ko</language>
		
		
		
		
			<atom:link href="/ko/tags/error-handling/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)에 직결됩니다.&#xA;여기서는 단순히 예외를 포착하는 데 그치지 않는 실전적인 구현 패턴을 소개합니다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-에러-분류와-대응-방침&#34;&gt;1. 에러 분류와 대응 방침&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#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&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;GS2 의 예외는 그 성질에 따라 크게 3가지로 분류할 수 있습니다.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;분류&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;해당하는 예외 (예)&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;대응 방침&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;일시적인 에러&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&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;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;자동 재시도&lt;/strong&gt;. 몇 차례 시도해도 안 되는 경우 에러 다이얼로그를 표시.&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;로직/설정 에러&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;BadRequest&lt;/code&gt;, &lt;code&gt;NotFound&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;개발 중에 해결해야 할 에러&lt;/strong&gt;. 릴리스 후에는 버그로 간주하여 로그를 수집하고, 사용자에게는 적절한 메시지를 표시.&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;인증·상태 에러&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&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;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;특별한 복구 처리&lt;/strong&gt;가 필요. 재로그인이나 데이터 재동기화(도메인 재취득)를 수행.&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;2-재시도-전략-구현지수-백오프&#34;&gt;2. 재시도 전략 구현(지수 백오프)&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#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&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;서버의 과부하나 일시적인 네트워크 불안정으로 인한 에러에 대해서는 즉시 재시도하는 것이 아니라, 간격을 두고 재시도하는 &amp;ldquo;지수 백오프(Exponential Backoff)&amp;ldquo;가 권장됩니다.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
