[Item77] ์์ธ๋ฅผ ๋ฌด์ํ์ง ๋ง๋ผ
- API ์ค๊ณ์๊ฐ ๋ฉ์๋ ์ ์ธ์ ์์ธ๋ฅผ ๋ช ์ํ๋ ๊น๋ญ์, ๊ทธ ๋ฉ์๋ค๋ฅผ ์ฌ์ฉํ ๋ ์ ์ ํ ์กฐ์น๋ฅผ ์ทจํด๋ฌ๋ผ๊ณ ๋งํ๋ ๊ฒ์ด๋ค.
- ์์ธ๋ ๋ฌธ์ ์ํฉ์ ์ ๋์ฒํ๊ธฐ ์ํด ์กด์ฌํ๋๋ฐ Catch ๋ธ๋ก์ ๋น์๋๋ฉด ์์ธ๊ฐ ์กด์ฌํ ์ด์ ๊ฐ ์์ด์ง๋ค.
- ๋ฌผ๋ก ์์ธ๋ฅผ ๋ฌด์ํด์ผ ํ ๋๋ ์๋ค. ์๋ฅผ ๋ค์ด FIleInputStream์ ๋ซ์๋๊ฐ ๊ทธ๋ ๋ค. ์ ๋ ฅ์ ์ฉ ์คํธ๋ฆผ์์ผ๋ก ํ์ผ์ ์ํ๋ฅผ ๋ณ๊ฒฝํ์ง ์์์ผ๋ ๋ณต๊ตฌ ํ ๊ฒ์ด ์์ผ๋ฉฐ, ํ์ํ ์ ๋ณด๋ ์ด๋ฏธ ๋ค ์ฝ์๋ค๋ ๋ป์ด๋ ๋จ์ ์์ ์ ์ค๋จํ ์ด์ ๋ ์๋ค.
- ์์ธ๋ฅผ ๋ฌด์ํ๊ธฐ๋ก ํ๋ค๋ฉด catch๋ธ๋ก ์์ ๊ทธ๋ ๊ฒ ๊ฒฐ์ ํ ์ด์ ๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ธฐ๊ณ ์์ธ ๋ณ์์ ์ด๋ฆ๋ ignored๋ก ๋ฐ๊ฟ๋๋๋ก ํ์.
Futer<Integer> f = exec.sumbit(plannerMap::chromaticNumber); int numColors = 4; try{ numColors = f.get(1L, TimeUnit.SECONDS); } catch (TimeoutException | ExcutionException ignored){ //๊ธฐ๋ณธ ๊ฐ์ ์ฌ์ฉํ๋ค(์์ ์๋ฅผ ์ต์ํ๋ผ๋ฉด ์ข์ง๋ง, ํ์๋ ์๋๋ค.) }