10ì¥ - ììž
ð¡ ììžë ì§ì§ ììž ìí©ìë§ ì¬ì©íëŒ
âììžë¥Œ ì ìì ìž ì ìŽ íëŠìì ì¬ì©íŽìë ì ëë€.â
1. ììžë¥Œ ì못 ì¬ì©í ì
try {
int i = 0;
while(true)
range[i++].climb();
} catch(ArrayIndexOutOfBoundsException e) {
}
- ìì ììë ì죌 ëì°í ìœëì. 묎í 룚í륌 ëë€ê° ë°°ìŽì ëì ëë¬íŽ
ArrayIndexOutOfBoundsException
ìŽ ë°ìíë©Ž ëì ëŽë ê².
- ìŽ ìœëë ì못ë ì¶ë¡ ì ê·Œê±°ë¡ ì±ë¥ì ëì¬ë³Žë € í ì¬ë¡ì.
- JVMì ë°°ìŽì ì ê·Œí ëë§ë€ 겜ê³ë¥Œ ëì§ ìëì§ ê²ì¬íëë°, ìŒë°ì ìž ë°ë³µë¬žë ë°°ìŽ ê²œê³ì ëë¬íë©Ž ì¢
ë£íë€. â ë°ëŒì ìŽ ê²ì¬ë¥Œ ë°ë³µë¬žìë ëª
ìíë©Ž ê°ì ìŒìŽ ì€ë³µëë¯ë¡ íë륌 ìëµí ê²
- ìŽ ì¶ë¡ ì ìž ê°ì§ ë©Žìì ì못ë ì¶ë¡ ì.
- ììžë ììž ìí©ì ìž ì©ëë¡ ì€ê³ ëììŒë¯ë¡ JVM 구íì ì
ì¥ììë ëª
íí ê²ì¬ë§íŒ ë¹ ë¥Žê² ë§ë€ìŽìŒ í ëêž°ê° ìœíš. (ìµì íì ë³ë¡ ì 겜 ì°ì§ ììì ê°ë¥ì±ìŽ íŒ)
- ìœë륌
try-catch
ëžë¡ ìì ë£ìŒë©Ž JVMìŽ ì ì©í ì ìë ìµì íê° ì íëš.
- ë°°ìŽì ìííë íì€ êŽì©êµ¬ë ìì ê±±ì í ì€ë³µ ê²ì¬ë¥Œ ìííì§ ìì. JVMìŽ ììì ìµì ííŽ ìì ì€.
â êµí : ììžë (ê·ž ìŽëŠìŽ ë§íŽì£Œë¯) ì€ì§ ììž ìí©ììë§ ìšìŒ íë€. ì ëë¡ ìŒìì ìž ì ìŽ íëŠì©ìŒë¡ ì°ì¬ì ì ëë€.
â ì ì€ê³ë APIëŒë©Ž íŽëŒìŽìžížê° ì ìì ìž ì ìŽ íëŠìì ììžë¥Œ ì¬ì©í ìŒìŽ ìê² íŽìŒ íë€.
2. ìí ê²ì¬ ë©ìë, ìµì
ë, í¹ì ê° ì í ì§ì¹š
- ìí ìì¡Žì ë©ìë ex)
Iterator
ìží°íìŽì€ì next
ë©ìë
- ìí ê²ì¬ ë©ìë ex)
Iterator
ìží°íìŽì€ì hasNext
ë©ìë
- ìžë¶ ëêž°í ììŽ ì¬ë¬ ì€ë ëê° ëìì ì ê·Œí ì ìê±°ë ìžë¶ ììžìŒë¡ ìíê° ë³í ì ìë€ë©Ž ìµì
ëìŽë í¹ì ê°ì ì¬ì©íë€. â ìí ê²ì¬ ë©ìëì ìí ìì¡Žì ë©ìë ížì¶ ì¬ìŽì ê°ì²Žì ìíê° ë³í ì ìêž° ë묞
- ì±ë¥ìŽ ì€ìí ìí©ìì ìí ê²ì¬ ë©ìëê° ìí ìì¡Žì ë©ìëì ìì
ìŒë¶ë¥Œ ì€ë³µ ìííë€ë©Ž ìµì
ëìŽë í¹ì ê°ì ì ííë€.
- ë€ë¥ž 몚ë 겜ì°ì ìí ê²ì¬ ë©ìë ë°©ììŽ ì¡°êž ë ë«ë€ê³ í ì ìë€. ê°ë
ì±ìŽ ìŽì§ ë ì¢ê³ , ì못 ì¬ì©íì ë ë°ê²¬íêž°ê° ìœë€. ìí ê²ì¬ ë©ìë ížì¶ì ê¹ë¹¡ ììë€ë©Ž ìí ìì¡Žì ë©ìëê° ììžë¥Œ ëì ž ë²ê·žë¥Œ íì€í ëë¬ëŒ ê²ì. â ë°ë©Ž í¹ì ê°ì ê²ì¬íì§ ìê³ ì§ëì³ë ë°ê²¬íêž°ê° ìŽë µë€(ìµì
ëì íŽë¹íì§ ìë 묞ì ).
ð¡ 복구í ì ìë ìí©ìë ê²ì¬ ììžë¥Œ, íë¡ê·žëë° ì€ë¥ìë ë°íì ììžë¥Œ ì¬ì©íëŒ
â복구í ì ìë ìí© â ê²ì¬ ììž / íë¡ê·žëë° ì€ë¥ ëë íì€íì§ ìì ë â ë¹ê²ì¬ ììžâ
1. ê²ì¬ ììž
- ìŒë°ì ìŒë¡ 복구í ì ìë ì¡°ê±ŽìŒ ë ë°ì
- ì¬ì© ì§ì¹š : ížì¶íë 쪜ìì 복구íëŠ¬ëŒ ì¬ê²šì§ë ìí©ìŽëŒë©Ž ê²ì¬ ììžë¥Œ ì¬ì©íëŒ
- ê²ì¬ ììžë¥Œ ëì§ë©Ž ížì¶ìê° ê·ž ììžë¥Œ
catch
ë¡ ì¡ì ì²ëŠ¬íê±°ë ë ë°ê¹¥ìŒë¡ ì ííëë¡ ê°ì íê² ëš.
â ë©ìë ì ìžì í¬íšë ê²ì¬ ììž ê°ê°ì ê·ž ë©ìë륌 ížì¶íì ë ë°ìí ì ìë ì ë ¥í 결곌ìì APIì¬ì©ììê² ìë €ì£Œë ê². (API ì¬ì©ììê² ê·ž ìí©ìì íë³µíŽëŽëŒê³ ì구)
2. ë¹ê²ì¬ ììž
- ë¹ê²ì¬ ììžë ë ê°ì§ë¡, ê°ê° ë°íì ììžì ìë¬ë€. ìŽ ëì íë¡ê·žëšìì ì¡ì íìê° ìê±°ë íµìì ìŒë¡ ì¡ì§ ë§ììŒ íš.
- íë¡ê·žëšìì ë¹ê²ì¬ ììžë ìë¬ë¥Œ ëì¡ë€ë ê²ì ë³µêµ¬ê° ë¶ê°ë¥íê±°ë ë ì€ííŽëŽìŒ ë볎ë€ë ì€ìŽ ë§ë€ë ë».
- ìŽë°
throwable
ì ì¡ì§ ìì ì€ë ëë ì ì í ì€ë¥ ë©ìì§ë¥Œ ëŽë±ìŒë©° ì€ëšëš.
- ì¬ì© ì§ì¹š
- íë¡ê·žëë° ì€ë¥ë¥Œ ëíëŒ ëë ë°íì ììžë¥Œ ì¬ì©íì
- ë°íì ììžì ëë¶ë¶ì ì ì 조걎ì ë§ì¡±íì§ ëª»íì ë ë°ì. ex)
ArrayIndexOutOfBoundsException
- ìë¬ë ë³Žíµ JVMìŽ ìì ë¶ì¡±, ë¶ë³ì ê¹šì§ ë± ëìŽì ìíì ê³ìí ì ìë ìí©ì ëíëŒ ë ì¬ì©
- ë¹ê²ì¬
throwable
ì 몚ë RuntimeException
ì íì íŽëì€ì¬ìŒ íš. (Error
ë ììíì§ ë§ììŒ í ë¿ ìëëŒ, throw
묞ìŒë¡ ì§ì ëì§ë ìŒë ììŽìŒ íš.)
ð¡ íì ìë ê²ì¬ ììž ì¬ì©ì íŒíëŒ
âìµì
ëë§ìŒë¡ë ìí©ì ì²ëŠ¬íêž°ì 충ë¶í ì 볎륌 ì ê³µí ì ìì ëë§ ê²ì¬ ììžë¥Œ ëì§ìâ
1. ê²ì¬ ììžì ì¬ì©
- ìŽë€ ë©ìëê° ê²ì¬ ììžë¥Œ ëì§ ì ìë€ê³ ì ìžëë€ë©Ž, ìŽë¥Œ ížì¶íë ìœëììë
catch
ëžë¡ì ëìŽ ê·ž ììžë¥Œ ë¶ì¡ì ì²ëŠ¬íê±°ë ë ë°ê¹¥ìŒë¡ ëì ž 묞ì 륌 ì ííŽìŒ íš. â ìŽë 쪜ìŽë API ì¬ì©ììê² ë¶ëŽì ì€.
- ê²ì¬ ììžê° íë¡ê·žëëšžìê² ì§ì°ë ë¶ëŽì ë©ìëê° ëš íëì ê²ì¬ ììžë§ ëì§ ëê° í¹í íŒ.
- ê²ì¬ ììžê° ëš íëë¿ìŽëŒë©Ž ì€ì§ ê·ž ììž ë묞ì API ì¬ì©ìë
try
ëžë¡ì ì¶ê°íŽìŒ íê³ ì€ížëŠŒìì ì§ì ì¬ì©íì§ ëª»íê² ëš.
â ê²ì¬ ììžë¥Œ ì ëì§ë ë°©ë²ìŽ ìëì§ ê³ ë¯ŒíŽë³Œ ê°ì¹ê° ìë€.
2. ê²ì¬ ììžì ë첎ì¬
- ì ì í 결곌 íì
ì ëŽì ìµì
ëì ë°í
- ê²ì¬ ììžë¥Œ ëì§ë ëì ëšìí ë¹ ìµì
ëì ë°í.
- ìŽ ë°©ìì ëšì ì ììžê° ë°ìí ìŽì 륌 ìë €ì£Œë ë¶ê°ì 볎륌 ëŽì ì ìë€ë ê².
- ë©ìë륌 2ê°ë¡ ìªŒê° ë¹ê²ì¬ ììžë¡ ë°êŸžêž°
try {
obj.action(args);
} catch(TheCheckedException e) {
...
}
if(obj.actionPermitted(args)) {
obj.action(args);
} else {
...
}
ð¡ íì€ ììžë¥Œ ì¬ì©íëŒ
âíì€ ììžë¥Œ ì¬ì¬ì©íë©Ž APIê° ë€ë¥ž ì¬ëìŽ ìµíê³ ì¬ì©íêž° ì¬ìì§â
1. ëíì ìž íì€ ììž
ììž | 죌ì ì°ì |
---|
IllegalArgumentException | íì©íì§ ìë ê°ìŽ ìžìë¡ ê±Žë€ì¡ì ë(nullì ë°ë¡ NullPointerExceptionìŒë¡ ì²ëŠ¬) |
IllegalStateException | ê°ì²Žê° ë©ìë륌 ìííêž°ì ì ì íì§ ìì ìíìŒ ë |
NullPointerException | nullì íì©íì§ ìë ë©ìëì nullì 걎ëžì ë |
IndexOutOfBoundsException | ìžë±ì€ê° ë²ì륌 ëìŽì°ì ë |
ConcurrentModificationException | íì©íì§ ìë ëì ìì ìŽ ë°ê²¬ëì ë |
UnsupportedOperationException | ížì¶í ë©ìë륌 ì§ìíì§ ìì ë |
- ìí©ì ë¶í©íë€ë©Ž íì íì€ ììžë¥Œ ì¬ì¬ì©íì
â» Exception
, RuntimeException
, Throwable
, Error
ë ì§ì ì¬ì¬ì©íì§ ë§ì
2. IllegalArgumentException vs IllegalStateException
-
ìì íë¡ ì 늬í â죌ì ì°ìâìŽ ìíž ë°°íì ìŽì§ ìì íì, ì¢
ì¢
ì¬ì¬ì©í ììžë¥Œ ì ííêž°ê° ìŽë €ìž ëë ìì
-
ex) 칎ë ë±ì íííë ê°ì²Žê° ìê³ , ìžìë¡ ê±Žëš ìë§íŒì 칎ë륌 ëœì ëë 죌ë ë©ìë륌 ì ê³µíë€ê³ íŽë³Žì. ìŽë ë±ì ëšì ìë 칎ë ìë³Žë€ í° ê°ì 걎ë€ë©Ž ìŽë€ ììžë¥Œ ëì žìŒ í ê¹?
- ìžìì ê°ìŽ ë묎 í¬ë€ê³ 볞ë€ë©Ž
IllegalArgumentException
, ë±ì ëšì 칎ë ìê° ë묎 ì ë€ê³ 볎멎 IllegalStateException
륌 ì íí ê²ì.
-
ìì ìí©ìì ìŒë°ì ìž ê·ì¹ì ìëì ê°ë€.
- ìžì ê°ìŽ 묎ììŽìë ìŽì°šíŒ ì€íšíìê±°ëŒë©Ž
IllegalStateException
, ê·žë ì§ ììŒë©Ž IllegalArgumentException
ì ëì§ì.
ð¡ ì¶ìí ìì€ì ë§ë ììžë¥Œ ëì§ì
âìë ê³ìžµì ììžë¥Œ ìë°©íê±°ë ì€ì€ë¡ ì²ëŠ¬í ì ìê³ ,
ê·ž ììžë¥Œ ìì ê³ìžµì ê·žëë¡ ë
žì¶íêž° ê³€ëíë€ë©Ž ììž ë²ìì ì¬ì©íëŒâ
1. ììž ë²ì
- ììž ë²ì(excepton translation) : ìì ê³ìžµìì ì ìì€ ììžë¥Œ ì¡ì ìì ì ì¶ìí ìì€ì ë§ë ììžë¡ ë°ê¿ ëì§ë ê²
try {
...
} catch(LowerLevelException e) {
throw new HigherLevelException(...);
}
2. ììž ì°ì
- ììž ì°ì(exception chaining) : 묞ì ì 귌볞 ììž(cause)ìž ì ìì€ ììžë¥Œ ê³ ìì€ ììžì ì€ìŽ 볎ëŽë ë°©ì.
try {
...
} catch(LowerLevelException cause) {
throw new HigherLevelException(cause);
}
class HigherLevelException extends Exception {
HigherLevelException(Throwable cause) {
super(cause);
}
}
- ê³ ìì€ ììžì ìì±ìë (ììž ì°ìì©ìŒë¡ ì€ê³ë) ìì íŽëì€ì ìì±ìì ìŽ âììžâì 걎ë€ì£ŒìŽ, ìµì¢
ì ìŒë¡
Throwable(Throwable)
ìì±ìê¹ì§ 걎ë€ì§ê² íë€.
3. ê¶ì¥
â 묎í±ëê³ ììžë¥Œ ì ííë ê²ë³Žë€ìŒ ììž ë²ììŽ ì°ìí ë°©ë²ìŽì§ë§, ê·žë ë€ê³ ëšì©íŽìë ê³€ëíš.
- ê°ë¥íë€ë©Ž ì ìì€ ë©ìëê° ë°ëì ì±ê³µíëë¡ íì¬ ìë ê³ìžµììë ììžê° ë°ìíì§ ìëë¡ íë ê²ìŽ ìµì
- ëë¡ ìì ê³ìžµì ë©ìëì 맀ê°ë³ì ê°ì ìë ê³ìžµ ë©ìëë¡ ê±Žë€êž° ì ì 믞늬 ê²ì¬íë ë°©ë²ìŒë¡ ìŽ ëª©ì ì ë¬ì±í ì ìì
- ìë ê³ìžµìì ììžë¥Œ íŒí ì ìë€ë©Ž, ìì ê³ìžµìì ê·ž ììžë¥Œ ì¡°ì©í ì²ëŠ¬íì¬ ë¬žì 륌 API ížì¶ììê¹ì§ ì ííì§ ìë ë°©ë².
- ìŽ ê²œì° ë°ìí ììžë
java.util.logging
ê°ì ì ì í ë¡ê¹
êž°ë¥ì íì©íì¬ êž°ë¡íŽëë©Ž ì¢ì.
ð¡ ë©ìëê° ëì§ë 몚ë ììžë¥Œ 묞ìííëŒ
âë°ì ê°ë¥í ììžë¥Œ 묞ìë¡ ëšêž°ì§ ììŒë©Ž ë€ë¥ž ì¬ëìŽ ê·ž íŽëì€ë
ìží°íìŽì€ë¥Œ íšê³Œì ìŒë¡ ì¬ì©íêž° ìŽë µê±°ë ì¬ì§ìŽ ë¶ê°ë¥í ìë ìë€.â
- ê²ì¬ ììžë íì ë°ë¡ë°ë¡ ì ìžíê³ , ê° ììžê° ë°ìíë ìí©ì ìë°ë
ì
@throw
í귞륌 ì¬ì©íì¬ ì íí 묞ìííì
public
ë©ìëëŒë©Ž íìí ì ì 조걎ì 묞ìííŽìŒ íë©°, ê·ž ìëšìŒë¡ ê°ì¥ ì¢ì ê²ìŽ ë°ë¡ ë¹ê²ì¬ ììžë€ì 묞ìííë ê²ì.
- ë©ìëê° ëì§ ì ìë ììžë¥Œ ê°ê°
@throw
íê·žë¡ ë¬žìííë, ë¹ê²ì¬ ììžë ë©ìë ì ìžì throws
목ë¡ì ë£ì§ ë§ì.
- ê²ì¬ ììž : ë©ìë ì ìžì
thorws
ì ì ë±ì¥ O && ë©ìë 죌ìì @throw
íê·žì ëª
ì O
- ë¹ê²ì¬ ììž : ë©ìë ì ìžì
thorws
ì ì ë±ì¥ X && ë©ìë 죌ìì @throw
íê·žì ëª
ì O
- ìŽ ì¡°ê±Žì ë§ì¡±íì¬ ìì±íë©Ž ìë°ë
ì ížëŠ¬í°ê° ìê°ì ìŒë¡ 구ë¶íŽì€.
- í íŽëì€ì ì ìë ë§ì ë©ìëê° ê°ì ìŽì ë¡ ê°ì ììžë¥Œ ëì§ë€ë©Ž ê·ž ììžë¥Œ (ê°ê°ì ë©ìëê° ìë) íŽëì€ ì€ëª
ì ì¶ê°íë ë°©ë²ë ìì.
- ex) âìŽ íŽëì€ì 몚ë ë©ìëë ìžìë¡
null
ìŽ ëìŽì€ë©Ž NullPointerException
ì ëì§ë€.â
ð¡ ììžì ììž ë©ìì§ì ì€íš êŽë š ì 볎륌 ëŽìŒëŒ
âì¬í ë¶ìì ìíŽ ì€íš ìê°ì ìí©ì ì íí í¬ì°©íŽ ììžì ììž ë©ìì§ì ëŽììŒ íšâ
- ììžë¥Œ ì¡ì§ ëª»íŽ íë¡ê·žëšìŽ ì€íšíë©Ž ìë° ìì€í
ì ê·ž ììžì ì€í ì¶ì (stack trace) ì 볎륌 ìëìŒë¡ ì¶ë ¥íš.
- ì€í ì¶ì ì ììž ê°ì²Žì
toString
ë©ìë륌 ížì¶íŽ ì»ë 묞ììŽë¡, 볎íµì ììžì íŽëì€ ìŽëŠ ë€ì ììž ë©ìì§ê° ë¶ë íí.
- ì€íš ìê°ì í¬ì°©íë €ë©Ž ë°ìí ììžì êŽì¬ë 몚ë 맀ê°ë³ìì íëì ê°ì ì€íš ë©ìì§ì ëŽììŒ íš.
- ex)
IndexOutOfBoundsException
ì ììž ë©ìì§ë ë²ìì ìµìê°ê³Œ ìµëê°, ê·žëŠ¬ê³ ê·ž ë²ì륌 ë²ìŽë¬ë€ë ìžë±ì€ì ê°ì ëŽììŒ íš.
- but, ììž ë©ìì§ì ë¹ë°ë²ížë ìíž í€ ê°ì ì 볎ê¹ì§ ëŽììë ì ëš.
- ììžì ììž ë©ìì§ì ìµì¢
ì¬ì©ììê² ë³Žì¬ì€ ì€ë¥ ë©ìì§ë¥Œ íŒëíŽìë ì ëš.
- ìµì¢
ì¬ì©ììê²ë ì¹ì í ë©ìì§ë¡ ìì±, ììž ë©ìžì§ë 죌 ìë¹ìžµìŽ íë¡ê·žëëšžìì ê³ ë €íì¬ ìì±.
- ììžë ì€íšì êŽë šë ì 볎륌 ì»ì ì ìë ì ê·Œì ë©ìë륌 ì ì í ì ê³µíë ê²ìŽ ì¢ì.
ð¡ ê°ë¥í í ì€íš ììì ìŒë¡ ë§ë€ëŒ
âë©ìë ëª
ìžì êž°ì í ììžëŒë©Ž ì€í¹ ììžê° ë°ìíëëŒë ê°ì²Žì ìíë
ë©ìë ížì¶ ì 곌 ëê°ìŽ ì ì§ëŒìŒ íë€ë ê²ìŽ Ʞ볞 ê·ì¹â
1. ì€íš ììì ìŽë?
- ì€íš ììì (failure-atomic) : ížì¶ë ë©ìëê° ì€íšíëëŒë íŽë¹ ê°ì²Žë ë©ìë ížì¶ ì ìí륌 ì ì§íŽìŒ íš.
- ì€íš ììì ìŽëŒë©Ž ìì
ëì€ ììžê° ë°ìíŽë ê·ž ê°ì²Žë ì¬ì í ì ìì ìŒë¡ ì¬ì©í ì ìë ìíì.
- ì€íš ììì ìŒë¡ ë§ë€ ì ìë€ë©Ž ì€íš ìì ê°ì²Ž ìí륌 API ì€ëª
ì ëª
ìíŽìŒ íš.
2. ì€íš ììì ì ì»ë ë°©ë²
- ë¶ë³ ê°ì²Žë¡ ì€ê³
- ë¶ë³ ê°ì²Žë íìì ìŒë¡ ì€íš ììì ì.
- ë©ìëê° ì€íšíë©Ž ìë¡ìŽ ê°ì²Žê° ë§ë€ìŽì§ì§ë ìì ì ììŒë êž°ì¡Ž ê°ì²Žê° ë¶ìì í ìíì ë¹ ì§ë ìŒì ê²°ìœ ìì. â ë¶ë³ ê°ì²Žì ìíë ìì± ìì ì ê³ ì ëìŽ ì ë ë³íì§ ìêž° ë묞
- ìì
ìíì ìì 맀ê°ë³ìì ì íšì±ì ê²ì¬
- ê°ì²Žì ëŽë¶ ìí륌 ë³ê²œíêž° ì ì ì ì¬ì ììžì ê°ë¥ì±ì ëë¶ë¶ 걞ë¬ëŒ ì ìë ë°©ë²
- ë¹ì·í ì·šì§ë¡ ì€íší ê°ë¥ì±ìŽ ìë 몚ë ìœë륌, ê°ì²Žì ìí륌 ë°êŸžë ìœëë³Žë€ ìì ë°°ì¹íë ë°©ë²ë ìì
- ê°ì²Žì ìì ë³µì¬ë³žìì ìì
ì ìíí ë€ì, ìì
ìŽ ì±ê³µì ìŒë¡ ìë£ëë©Ž ìë ê°ì²Žì êµì²Ž
- ë°ìŽí°ë¥Œ ìì ìë£êµ¬ì¡°ì ì ì¥íŽ ìì
íë ê² ë ë¹ ë¥Œ ë ì ì©íêž° ì¢ì ë°©ì.
- ìì
ëì€ ë°ìíë ì€íšë¥Œ ê°ë¡ì±ë 복구 ìœë륌 ìì±íì¬ ìì
ì ìíë¡ ëë늬Ʞ
- ì£Œë¡ (ëì€í¬ êž°ë°ì) ëŽêµ¬ì±(durability)ì 볎ì¥íŽìŒ íë ìë£êµ¬ì¡°ì ì°ì.
ð¡ ììžë¥Œ 묎ìíì§ ë§ëŒ
â catch
ëžë¡ì ë¹ìëì§ ë§ìâ
- ììžë 묞ì ìí©ì ì ëì²íêž° ìíŽ ì¡Žì¬íëë°,
catch
ëžë¡ì ë¹ìëë©Ž ììžê° ì¡Žì¬í ìŽì ê° ììŽì§.
- ë¹ì íìë©Ž íì¬ê²œë³Žë¥Œ 묎ìíë ìì€ì ëìŽ ìì 꺌ë²ë €, ë€ë¥ž ë구ë íì¬ê° ë°ìíìì ìì§ ëª»íê² íë ê²ê³Œ ê°ì.
- ììžë¥Œ 묎ìíêž°ë¡ íë€ë©Ž
catch
ëžë¡ ìì ê·žë ê² ê²°ì í ìŽì 륌 죌ììŒë¡ ëšêž°ê³ ììž ë³ìì ìŽëŠë ignored
ë¡ ë°ê¿ëëë¡ íì.
- ììž¡í ì ìë ììž ìí©ìŽë íë¡ê·žëë° ì€ë¥ë , ë¹
catch
ëžë¡ìŒë¡ 못 볞 ì² ì§ëì¹ë©Ž ê·ž íë¡ê·žëšì ì€ë¥ë¥Œ ëŽì¬í ì± ëìíê² ëš.
â 묎ìíì§ ìê³ ë°ê¹¥ìŒë¡ ì íëê²ë§ ëë¬ë ìµìí ëë²ê¹
ì 볎륌 ëšêžŽ ì± íë¡ê·žëšìŽ ì ìí ì€ëšëê²ë í ì ìë€