"์๋ , ์๋ฏธ๊ณ !
"์ฌ์ํ์ง๋ง ํฅ๋ฏธ๋ก์ด ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์ถ์ต๋๋ค."
"๋ฃ๊ณ ์์ด์. ์๊ณ ์ฌ๋ฏธ์๋ ๊ฑธ ์ข์ํด์."
"์, ๋ชจ๋ ์ค๋ ๋ ๊ฐ์ฒด์๋ run() ๋ฉ์๋๊ฐ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ start() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๋์ ์ค๋ ๋์์ ์คํํ ์ ์์ต๋๋ค."
"๋ฌผ๋ก ์ด์ฃ ."
"ํ์ง๋ง ์ด์ ๋ค์ ์ํฉ์ ์์ํด ๋ณด์ญ์์ค. ์ด๋ค ์์ ์ ์ํํ๊ธฐ ์ํด ์ค๋ ๋๋ฅผ ์์ํ์ง๋ง ์์ธ๊ฐ ๋ฐ์ํ๊ณ ์ค๋ ๋๋ ๋ฌด์์ ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์คํ์ ์ค์งํฉ๋๋ค. ์ด๋ป๊ฒ๋ ์ด ์ค๋ฅ์ ๋ํด ์์์ผ ํ์ง ์์ต๋๊น?"
"๋์ํฉ๋๋ค. ์คํ ์ค์ธ ๋ค๋ฅธ ์ค๋ ๋์์ ๋ฐ์ํ ์์ธ๋ฅผ ์ด๋ป๊ฒ๋ ์ก์๋ด์ผ ํฉ๋๋ค. Java๊ฐ ์ด๋ฅผ ์ง์ํฉ๋๊น?"
"๋น์ ์ ๋๋ฅผ ๋ชจ์ํฉ๋๋ค. ๋ฌผ๋ก ๊ทธ๋ ์ต๋๋ค."
"Java์ ์ ์์๋ UncaughtExceptionHandler๋ผ๋ ํน์ ์ธํฐํ์ด์ค๋ฅผ ๋ฐ๋ช ํ์ต๋๋ค. ๋ค์์ ๋ค๋ฅธ ์ค๋ ๋์์ ๋ฐ์ํ๋ ์์ธ๋ฅผ ํฌ์ฐฉํ๊ณ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ํด๋น ์ค๋ ๋๊ฐ ์์ธ๋ฅผ ํฌ์ฐฉํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ:"
public class DownloadManager
{
public static void main(String[] args)
{
Thread thread = new DownloadThread();
thread.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler()
{
@Override
public void uncaughtException(Thread t, Throwable e)
{
}
});
thread.start();
}
"Thread ๊ฐ์ฒด์๋ ํน๋ณํ setUncaughtExceptionHandler ๋ฉ์๋๊ฐ ์์ต๋๋ค. Thread.UncaughtExceptionHandler ์ธํฐํ์ด์ค ๋ฅผ ๊ตฌํํ๋ ๊ฐ์ฒด๋ฅผ ์ ๋ฌํด์ผ ํฉ๋๋ค . ์ด ์ธํฐํ์ด์ค ์๋ uncaughtException(Thread t, Throwable e) ๋ฉ์๋๊ฐ ํ๋๋ง ์์ต๋๋ค . ์ด ๋ฉ์๋๋ ๋ค์์ ํธ์ถ๋ฉ๋๋ค. run ๋ฉ์๋์์ ํฌ์ฐฉ๋์ง ์์ ์์ธ๊ฐ ๋ฐ์ํ๋ฉด ์ ๋ฌ๋ ๊ฐ์ฒด์ ๋๋ค."
"์์ ์์์๋ Thread.Thread.UncaughtExceptionHandler ์ธํฐํ์ด์ค ๋ฅผ ๊ตฌํํ๋ ์ต๋ช ์ ๋ด๋ถ ํด๋์ค(๋นจ๊ฐ์์ผ๋ก ๊ฐ์กฐ ํ์๋จ)๋ฅผ ์ ์ธํ๊ณ uncaughtException(Thread t, Throwable e) ๋ฉ์๋๋ฅผ ์ฌ์ ์ํฉ๋๋ค ."
"๋ฉ์๋์ ๋งค๊ฐ๋ณ์ ๋ชฉ๋ก์์ ๋ณผ ์ ์๋ฏ์ด ์์ธ๊ฐ ๋ฐ์ํ ์ค๋ ๋ ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ์ Throwable e๋ก ์ ๋ฌ๋ ์์ธ ์์ฒด์ ๋ ๊ฐ์ง ์ธ์๊ฐ ์ ๋ฌ๋ฉ๋๋ค."
"์, Thread ๋ณ์ t๊ฐ ํ์ํ ์ด์ ๋ ๋ฌด์์ ๋๊น? Thread.UncaughtExceptionHandler ๊ฐ์ฒด๋ฅผ ์ด๋ค ์ค๋ ๋์ ๋ฃ์์ง ์ด๋ฏธ ์๊ณ ์์ง ์์ต๋๊น?"
"๊ทธ๋ค์ ์ด๋ฌํ ์ํฉ์ ๋ํ ๋ฒ์ฉ ํธ๋ค๋ฌ๋ฅผ ์์ฑํ ์ ์๋๋ก ์ด๋ ๊ฒ ํ์ต๋๋ค. ์ฆ, ๋จ์ผ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์์ญ ๊ฐ์ ๋ค๋ฅธ ์ค๋ ๋์ ์ ๋ฌํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด uncaughtException( Thread t, Throwable e) ๋ฉ์๋๋ ํญ์ ์์ธ๊ฐ ๋ฐ์ํ ์ค๋ ๋ ๊ฐ์ฒด์ ๋๋ค."
"๋ํ ์๋ฅผ ๋ค์ด ํน์ ์์ ์ ์ํํ๊ธฐ ์ํด ๋ฃจํ์์ ์์ญ ๊ฐ์ ์ค๋ ๋๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ค๋ ๋ ๊ฐ์ฒด์ ๋ํ ์ด ์ฐธ์กฐ๋ ๋ถํ์ํ์ง ์์ต๋๋ค. ์ฝ์ํฉ๋๋ค."
"๋๋ ๋น์ ์ ๋ฏฟ์ต๋๋ค. ๋น์ ์ ๊ฒฐ์ฝ ํ๋ฆฐ ์ ์ด ์์ต๋๋ค."
GO TO FULL VERSION