¸Þ¼µå¸¦ »ç¿ëÇÒ ¶§, ¿¡·¯Ã³¸®¸¦ Ç϶ó´Â ¿¡·¯°¡ ¹ß»ýÇÏ¿´´Ù¸é ¼½¿¾øÀÌ ¿¡·¯Ã³¸® ±¸¹®À» ´Þ¾Æ ÁÝ´Ï´Ù. ³»ºÎ¿¡¼ ¾î¶»°Ô Ç߱淡 ±× ¸Þ¼µå¸¦ »ç¿ëÇÏ´Â »ç¶÷ÀÌ ¿¡·¯Ã³¸®¸¦ ÇØ¾ß ÇÒ±î¿ä. ±× ´äÀº throws¿¡ ÀÖ½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ¸¸µç ¸Þ¼µå ³»ºÎ¿¡¼ ¿¡·¯Ã³¸®¸¦ ÇØ¾ß Çϴµ¥ ¿¡·¯Ã³¸®¸¦ ÇÏÁö ¾Ê°í ¸Þ¼µå ³¡¿¡ ¡°throws ¿¡·¯À̺¥Æ®¡±¸¦ ºÙÀÎ´Ù¸é ¸Þ¼µå¸¦ »ç¿ëÇÏ´Â °÷¿¡¼ ¿¡·¯Ã³¸®¸¦ ÇØ¾ß ÇÕ´Ï´Ù. Áï, ¸Þ¼µå ³»ºÎ¿¡¼ ó¸®ÇÏÁö ¾Ê°í ¸Þ¼µå¸¦ »ç¿ëÇÒ ¶§ ¿¡·¯Ã³¸®¸¦ Çϵµ·Ï ¿¡·¯Ã³¸®¸¦ ¹Ì·ç´Â °ÍÀÔ´Ï´Ù.
ÀÌ·± °æ¿ì´Â ¾ÆÁÖ ½±°Ô ã¾Æ º¼ ¼ö ÀÖ½À´Ï´Ù. º¸ÅëÀÇ °æ¿ì ½ºÆ®¸²¿¡¼ µ¥ÀÌÅ͸¦ ±â·ÏÇϰųª ÀÐ¾î µéÀÏ ¶§ ³»ºÎ¿¡¼ ó¸®ÇÏÁö ¾Ê°í Äڵ带 ÀÛ¼ºÇϰí ÀÖ´Â ÇÁ·Î±×·¡¸Ó¿¡°Ô Àü´ãÀ» ½Ã۰í ÀÖ´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ´ëºÎºÐÀÇ ¿¡·¯Ã³¸®°¡ ´Ù ±×·¸Áö ¾Ê½À´Ï±î? À§ÀÇ URL°´Ã¼»ý¼º ¿¹¿¡¼ ¿ì¸®´Â URL°´Ã¼¸¦ »ý¼ºÇÏ¸é¼ ¿¡·¯Ã³¸®¸¦ ÇØ ÁÖ°í ÀÖ½À´Ï´Ù. ³»ºÎÀÇ ¸Þ¼µå ³»¿¡¼ ¿¡·¯Ã³¸®ÀÛ¾÷À» ¹Ì·ç¾ú±â ¶§¹®¿¡ ÀÌ ¸Þ¼µå¸¦ »ç¿ëÇÏ´Â »ç¶÷¿¡°Ô ¿¡·¯Ã³¸®¸¦ ÇØ ÁÖµµ·Ï Çϰí ÀÖ½À´Ï´Ù. URL°´Ã¼¸¦ »ý¼ºÇÒ ¶§ ¿¡·¯°¡ ³ª´Â °ÍÀº URL»ý¼ºÀÚ ¸Þ¼µå¿¡¼ ¿¡·¯Ã³¸®¸¦ ¹Ì·é °ÍÀÔ´Ï´Ù. Áï, throws Ű¿öµå¸¦ »ý¼ºÀÚ ¸Þ¼µå¿¡¼ »ç¿ëÇÑ °ÍÀÌÁö¿ä. ÀÌ·¯ÇÑ ¿¡·¯Ã³¸®ÀÇ ¿¹¸¦ Á÷Á¢ ¸¸µé¾î º¸µµ·Ï ÇÏÁÒ.
PassException.java |
import java.net.*; public class PassException { public URL makeURL(String urlstr) throws MalformedURLException{ return new URL(urlstr); } public static void main(String args[]) { PassException p = new PassException(); URL url = p.makeURL("http://www.yahoo"); } } |
C:\examples\7. Exception>javac PassException.java PassException.java:9: unreported exception java.net.MalformedURLException; must be caught or declared to be thrown URL url = p.makeURL("http://www.yahoo"); ^ 1 error |
ºÐ¸í, URL°´Ã¼¸¦ »ý¼ºÇÒ ¶§¿¡´Â ¿¡·¯Ã³¸®¸¦ ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ÇÏÁö¸¸ URL°´Ã¼¸¦ »ý¼ºÇÏ¿© ¸®ÅÏÀ» ÇÒ ¶§ ¿¡·¯Ã³¸®¸¦ ÇÏÁö¾Ê°í ¸Þ¼µåÀÇ ¼±¾ð ºÎºÐ¿¡ throws MalformedURLExceptionÀ¸·Î ó¸®ÇÏ¿© makeURL¸Þ¼µå¸¦ »ç¿ëÇÒ ¶§ ¿¡·¯Ã³¸®¸¦ Çϵµ·Ï Çϰí ÀÖ½À´Ï´Ù. makeURL¸Þ¼µå¸¦ »ç¿ëÇÒ ¶§, ¿¡·¯Ã³¸®¸¦ ÇÏÁö ¾Ê´Â´Ù¸é ÄÄÆÄÀÏŸÀÓ¿¡ À§¿Í °°Àº ¿¡·¯°¡ ¶³¾îÁý´Ï´Ù.
¿¡·¯ ó¸® ¹Ì·ç´Â ¹æ¹ý
n public URL makeURL(String urlstr) throws MalformedURLException{
n return new URL(urlstr);
n }
¿ø·¡´Â ¸Þ¼µå ³»ºÎ¿¡¼ ´ÙÀ½°ú °°ÀÌ ÇØ ÁÖ¾î¾ßÁÒ.
public URL makeURL(String urlstr) { try{ return new URL(urlstr); catch(MalformedURLException e) {System.out.println(e);} } |
¾ÆÁÖ °£´ÜÇÑ ±â¹ýÀÌÁö¸¸ ¶óÀ̺귯¸®ÀÇ ´ëºÎºÐ¿¡¼ ÀÌ¿Í °°Àº ¹æ¹ýÀ» »ç¿ëÇÕ´Ï´Ù. »ç¿ëÀÚ°¡ ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÏ¿© °´Ã¼¸¦ ¸¸µé°í °´Ã¼¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸Þ¼µå¸¦ È£ÃâÇÒ ¶§ »ç¿ëÀÚ°¡ ¾Ë¾Æ¼ ó¸®Çϵµ·Ï ÇÏ´Â °ÍÀÔ´Ï´Ù. ¾Ë¾ÆµÎ¸é À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ°ÚÁÒ. ´ÙÀ½Àº À§ÀÇ Äڵ带 ¼öÁ¤ÇÏ¿© ÄÄÆÄÀÏ¿¡·¯¸¦ Á¦°ÅÇÑ ¿¹ÀÔ´Ï´Ù.
PassException.java |
import java.net.*; public class PassException { public URL makeURL(String urlstr) throws MalformedURLException{ return new URL(urlstr); } public static void main(String args[]) { PassException p = new PassException(); try{ URL url = p.makeURL("http://www.yahoo.co.kr"); //Á¤È®ÇÑ URLÀ» ÀÔ·ÂÇÏÁö ¾Ê¾Æ¼ ¿¡·¯¹ß»ý System.out.println(url); } catch(MalformedURLException e) { System.out.println("--MalformedURLException ¹ß»ý±¸¹®--"); System.out.println("Á¤º¸:e.getMessage(): " + e.getMessage()); System.out.println("Á¤º¸:e.toString(): " + e.toString()); System.out.print("Á¤º¸:e.printStackTrace():");e.printStackTrace(); return; } finally{ System.out.println("finally: °á±¹À̸®·Î ¿À´Â±º¿ä"); } } } |
C:\examples\7. Exception>javac PassException.java C:\examples\7. Exception>java PassException http://www.yahoo.co.kr finally: °á±¹À̸®·Î ¿À´Â±º¿ä |
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ ÀúÀÚ:ÃÖ¿µ°ü |