μμΈλ₯Ό μ λλ‘ νμ©νλ€λ©΄ νλ‘κ·Έλ¨μ κ°λ μ±, μ λ’°μ±, μ μ§λ³΄μμ±μ λμμ§κ² ν μ μλ€.
μμ΄ν 69 : μμΈλ μ§μ§ μμΈ μν©μμλ§ μ¬μ©νλΌ
μλ μ½λλ μμΈλ₯Ό μμ ν μλͺ» μ¬μ©ν μμ΄λ€.
try {
int i = 0;
while(true)
range[i++].climb();
} catch (ArrayIndexOutOfBoundsException e) {
}
ν΄λΉ μ½λλ 무ν루νλ₯Ό λλ€κ° μμΈλ₯Ό ν΅ν΄ λμ λ΄κ³ μλ€. μ΄ μ½λλ μλ§ λ°°μ΄ κ²½κ³κ²μ¬λ₯Ό νμ§ μκΈ°μ μ±λ₯μ΄ λ μ’μ κ±°λΌ μκ°νκ³ μ΄κ² κ°λ€.
νμ§λ§ μ΄λ μλͺ»λ μΆλ‘ μ΄λ€.
- μμΈλ μμΈ μν©μμ μΈ μ©λλ‘ μ€κ³λμκ³ μ΅μ νμ μ½νλ€.
- try-catch λΈλ‘μμμλ JVMμ΄ μ μ©ν μ μλ μ΅μ νκ° μ νλλ€.
- λ°°μ΄μ μννλ νμ€κ΄μ©κ΅¬λ μ€λ³΅ κ²μ¬λ₯Ό μννμ§ μκ³ μμμ μ΅μ ννλ€.
μμΈλ₯Ό μΌλ°μ μΈ μ μ΄ νλ¦μμ μ¬μ©νλ©΄ μ λ μλλ€. μμΈλ μ€μ§ μμΈ μν©μμλ§ μ¨μΌνλ€.
→ μμΈλ₯Ό μΌλ°μ μΈ μν©μμ μ¬μ©νλ©΄ νΌλμ μΌκΈ°ν μ μκ³ μμΈλ₯Ό μΌλ°μ μΈ μν©μΌλ‘ κ°μ£Όν μ λ μλ€.
μ μ€κ³λ APIλΌλ©΄ ν΄λΌμ΄μΈνΈκ° μ μμ μΈ μ μ΄ νλ¦μμ μμΈλ₯Ό μ¬μ©ν μΌμ΄ μκ² ν΄μΌνλ€.
→ νΉμ μνμμλ§ νΈμΆν μ μλ ‘μν μμ‘΄μ ' λ©μλλ ‘μν κ²μ¬' λ©μλλ ν¨κ» μ 곡ν΄μΌνλ€. μ) IteratorμΈν°νμ΄μ€μ ‘next’μ ‘hasNext’κ° μ¬κΈ°μ ν΄λΉλλ€.
- ‘μν μμ‘΄μ λ©μλ’λ₯Ό μ 곡νλ ν΄λμ€λ ‘μν κ²μ¬ λ©μλ’λ ν¨κ» μ 곡ν΄μΌ νλ€ (μΈνΈ)
hasNextμ κ°μ ‘μνκ²μ¬' λ©μλλ₯Ό μ 곡νμ§ μλλ€λ©΄ ‘μν μμ‘΄μ 'μΈ λ©μλλ κ²°κ΅ μμΈλ₯Ό λ°μμν¬ μ λ°μ μλ€. μ΄λ μ μμ μΈ νλ¦μμλ μμΈλ₯Ό λ°μμν€λ―λ‘ μ’μ§μμ λ°©λ²μ΄λ€.
λ€λ₯Έ μ νμ§λ‘λ nullμ΄λ λΉ μ΅μ λκ°μ νΉμν κ°μ λ°ννλ λ°©λ²μ΄ μλ€.
μν κ²μ¬ λ©μλ, μ΅μ λ, νΉμ κ° μ ν κ°μ΄λ
- μΈλΆ λκΈ°ν μμ΄ μ¬λ¬ μ€λ λκ° λμ μ κ·Όνκ±°λ μΈλΆ μμΈμΌλ‘ μνκ° λ³ν μ μλ€λ©΄
- μ΅μ λμ΄λ νΉμ κ°
- μν κ²μ¬ λ©μλ νΈμΆ λ€ μν μμ‘΄ λ©μλ νΈμΆ ν μ¬μ΄ μνκ° λ³ν μ μκΈ° λλ¬Έ
- μ±λ₯μ΄ μ€μν μν©μμ μν κ²μ¬ λ©μλκ° μν μμ‘΄μ λ©μλμ μμ
μΌλΆλ₯Ό μ€λ³΅ μννλ€λ©΄
- μ΅μ λμ΄λ νΉμ κ°
- λ€λ₯Έ λͺ¨λ κ²½μ°
- μν κ²μ¬ λ©μλ λ°©μμ΄ λ«λ€
- κ°λ μ±μ΄ μ’κ³ , μλͺ» μ¬μ©νμ λ λ°κ²¬νκΈ° μ½λ€.
- μν κ²μ¬ λ©μλ λ°©μμ΄ λ«λ€
-ν΅μ¬μ 리- : μμΈλ μ μμ μ΄νλ¦μ΄ μλ μμΈμν©μμλ§ μ¬μ©νμ.
μμ΄ν 70 : 볡ꡬν μ μλ μν©μμλ κ²μ¬ μμΈλ₯Ό νλ‘κ·Έλλ° μ€λ₯μλ λ°νμ μμΈλ₯Ό μ¬μ©νλΌ
μλ°λ λ¬Έμ μν©μ μ리λ νμ μΌλ‘ ‘κ²μ¬μμΈ, λ°νμμμΈ, μλ¬' 3κ°μ§λ₯Ό μ 곡νλ€.
μ΄ 3κ°μ§λ₯Ό μΈμ 무μμ μ¬μ©ν΄μΌνλμ§ μ’μ μ§μΉ¨λ€μ μ΄ν΄λ³΄μ.
νΈμΆνλ μͺ½μμ 볡ꡬνλ¦¬λΌ μ¬κ²¨μ§λ μν©μ΄λΌλ©΄ κ²μ¬ μμΈλ₯Ό μ¬μ©νλΌ.
- κ²μ¬μ λΉκ²μ¬λ₯Ό ꡬλΆνλ κΈ°λ³Έ κ·μΉ (볡ꡬ κ°λ₯ μ¬λΆ)
- κ²μ¬μμΈλ₯Ό λμ§λ©΄ κ·Έ νΈμΆμλ API μ¬μ©μκ° κ·Έ μν©μ ν볡ν΄λ΄λΌκ³ μꡬν κ²μ΄λ€.
λΉκ²μ¬ throwableμ ν¬κ² ‘λ°νμ μμΈ'μ ‘μλ¬'μ΄λ€. μ΄ λμ νλ‘κ·Έλ¨μμ μ‘μ νμκ° μκ±°λ μ‘μ§ λ§μμΌνλ€. μ΄ λμ λ μ€νν΄λ΄μΌ μ€μ΄ λ§κΈ° λλ¬Έμ μ€λ λλ μ μ ν μ€λ₯ λ©μμ§λ₯Ό λ±μΌλ©° μ€λ¨λλ€.
νλ‘κ·Έλλ° μ€λ₯λ₯Ό λνλΌ λλ λ°νμ μμΈλ₯Ό μ¬μ©νμ.
λ°νμ μμΈμ λλΆλΆμ μ μ 쑰건μ λ§μ‘±νμ§ λͺ»νμ λ λ°μνλ€.
- μ μ 쑰건 μλ°°λ ν΄λΌμ΄μΈνΈκ° ν΄λΉ APIμ μ μ½μ μ§ν€μ§ λͺ»νλ€λ λ»μ΄λ€ [μ) μΈλ±μ€λ μμκ° λ μ μλ€]
- νλ‘κ·Έλλ° μ€λ₯μΈμ§ μ 맀νλ€λ©΄ 볡ꡬ κ°λ₯ μ¬λΆλ‘ κ²μ¬μμΈμΈμ§, λ°νμ μμΈμΈμ§λ₯Ό νλ¨νμ.
μλ¬λ λ³΄ν΅ JVMμ΄ μμλΆμ‘±, λΆλ³μ κΉ¨μ§ λ± λ μ΄μ μνμ κ³μν μ μλ μν©μ λνλΌ λ μ¬μ©νλ€.
- μλ° μΈμ΄ λͺ μΈκ° μꡬνλ κ²μ μλμ§λ§ Errorν΄λμ€λ₯Ό μμν΄ νμν΄λμ€λ₯Ό λ§λλ μΌμ μμ νμ.
μ°λ¦¬κ° ꡬννλ λΉκ²μ¬ throwableμ λͺ¨λ RuntimeExceptionμ νμ ν΄λμ€μ¬μΌ νλ€.
- Errorλ μμμ΄λ throwλ¬ΈμΌλ‘ λμ§λμΌ μ΄ μμ΄μΌ νλ€.
Exception, RuntimeExcetion, throwableμ μμνμ§ μλ throwableμ λ§λ€ μ μμ§λ§ μ λ μ¬μ©νμ§ λ§μ.
- μ΄λ μ μμ μΈ κ²μ¬ μμΈλ³΄λ€ λμ κ² μμΌλ©΄μ APIμ¬μ©μλ₯Ό ν·κ°λ¦¬κ² λ§λ λ€. (νμ€μ΄ μλλ―λ‘)
κ²μ¬ μμΈλΌλ©΄ 볡ꡬμ νμν μ 보λ₯Ό μλ €μ£Όλ λ©μλλ ν¨κ» μ 곡νμ.
- 볡ꡬ κ°λ₯ν μμΈμ΄λ―λ‘ λ³΅κ΅¬ μ μ¬μ©ν λ©μλλ ν¨κ» μλ €μ£Όμ
μμ΄ν 71 : νμ μλ κ²μ¬ μμΈ μ¬μ©μ νΌνλΌ
κ²μ¬ μμΈλ κ³Όνλ©΄ μ°κΈ° λΆνΈν APIκ° λκ³ μ λΉν μ리νλ©΄ APIμ μ§μ λμΌ μ μλ€.
- κ²μ¬μμΈκ° κ³Όνλ©΄ APIμ¬μ©μμκ² λΆλ΄μ μ£Όκ²λλ€.
- κ²μ¬μμΈλ₯Ό λμ§λ λ©μλλ μλ° 8μμ μΆκ°λ μ€νΈλ¦Ό μμμ μ¬μ©ν μ μλ€.
κ²μ¬ μμΈλ₯Ό ννΌνλ λ°©λ²
- κ²°κ³Ό νμ μ λ΄μ μ΅μ λ λ°ν. κ²μ¬ μμΈ λμ λΉ μ΅μ λ λ°ν
- κ²μ¬ μμΈλ₯Ό λμ§λ λ©μλλ₯Ό 2κ°λ‘ μͺΌκ° λΉκ²μ¬ μμΈλ‘ λ³κ²½ (hasNext(), next() κ΄κ³)
-ν΅μ¬μ 리-
APIνΈμΆμκ° μμΈ μν©μμ 볡ꡬν λ°©λ²μ΄ μλ€λ©΄ λΉκ²μ¬μμΈλ₯Ό λμ§μ.
λ§μ½, λ³΅κ΅¬κ° κ°λ₯νκ³ μ²λ¦¬λ₯Ό ν΄μ£ΌκΈΈ μνλ€λ©΄ μ°μ μ μΌλ‘ μ΅μ λμ λ°νν΄λ λ μ§ κ³ λ―Όνμ. μ΅μ λλ‘ μΆ©λΆν μ 보λ₯Ό μ 곡ν μ μμ λ ‘κ²μ¬ μμΈ'λ₯Ό λμ§μ.
μμ΄ν 72 : νμ€ μμΈλ₯Ό μ¬μ©νλΌ
μλ ¨λ νλ‘κ·Έλλ¨Έλ κ·Έλ μ§ λͺ»ν νλ‘κ·Έλλ¨Έλ³΄λ€ λ λ§μ μ½λλ₯Ό μ¬μ¬μ©νλ€..!
μλ° λΌμ΄λΈλ¬λ¦¬λ λλΆλΆ APIμμ μ°κΈ°μ μΆ©λΆν μμ μμΈλ₯Ό μ 곡νλ€.
νμ€ μμΈλ₯Ό μ¬μ¬μ©νλ©΄
- APIκ° λ€λ₯Έ μ¬λμ΄ μ΅νκ³ μ¬μ©νκΈ° μ¬μμ§λ€. λ§μ λ€λ₯Έ νλ‘κ·Έλλ¨Έλ€μκ² μ΅μν΄μ§ κ·μ½μ λ°λ₯΄κΈ° λλ¬Έμ΄λ€.
- μμΈ ν΄λμ€κ° μ μμλ‘ λ©λͺ¨λ¦¬ μ¬μ©λ, ν΄λμ€ μ μ¬ μκ°μ΄ μ€μ΄λ λ€.
---
IlegalArgumentException : μΈμλ‘ λΆμ μ ν κ°μ λκ²Όμ λ
IllegalStateException : λμ κ°μ²΄μ μνκ° λ©μλ μνν μ μμ λ (μ μ μ΄κΈ°νλμ§ μμ κ°μ²΄μ μ¬μ©)
NullPointerException : nullμ νμ©νμ§ μλ λ©μλμ nullμ κ±΄λΌ λ
IndexOutOfBoundsException : μνμ€μ νμ©λ²μλ₯Ό λλ κ°μ κ±΄λΌ λ
ConcurrentModificationException : λ¨μΌ μ€λ λμμ μ¬μ©νλ € μ€κ³ν κ°μ²΄λ₯Ό μ¬λ¬ μ€λ λκ° λμ μμ νλ € ν λ
μν©μ΄ λΆν©νλ€λ©΄ νμ νμ€ μμΈλ₯Ό μ¬μ¬μ©νμ. μ΄λ APIλ¬Έμλ₯Ό μ°Έκ³ ν΄ κ·Έ μμΈκ° μ΄λ€ μν©μμ λ겨μ§λ μ§ νμΈν΄μΌλ§ νλ€.
λ§μ½, λλ§μ μ 보λ₯Ό μ 곡νκΈΈ μνλ€λ©΄ νμ€μμΈλ₯Ό νμ₯νλ κ²λ μ’λ€.
---
Exception, RuntimeException, Throwable, Error λ μ§μ μ¬μ¬μ©νμ§ λ§μ
λ§μΉ μΆμν΄λμ€λΌκ³ μκ°νκ³ μ§μ μ¬μ©νμ§ λ§μ.
- μ¬λ¬ μ±κ²©μ μμΈλ₯Ό ν¬κ΄νλ ν΄λμ€μ΄λ―λ‘ μμ μ μΌλ‘ ν μ€νΈν μ μλ€.
IllegalStateExceptionκ³Ό IllegalArgumentExceptionμ ꡬλΆ
μΈμκ°μ΄ λμλ μ€ν¨νμ μν©μ΄λΌλ©΄ μ μλ₯Ό μ ν, κ·Έλ μ§ μλ€λ©΄ νμλ₯Ό μ ννλ€.
μμ΄ν 73 : μΆμν μμ€μ λ§λ μμΈλ₯Ό λμ§λΌ
μννλ €λ μΌκ³Ό κ΄λ ¨ μλ μμΈκ° λμ€λ©΄ λΉν©μ€λ½λ€. μ΄λ μ μμ€μμΈλ₯Ό μ²λ¦¬νμ§ μκ³ λ°κΉ₯μΌλ‘ μ νν΄λ²λ¦΄ λ μ’ μ’ μΌμ΄λλ€. (μ΄λ λ΄λΆ ꡬν λ°©μμ λλ¬λ΄μ΄ μ λ 벨 APIλ₯Ό μ€μΌμν¨λ€)
λν, λ€μ 릴리μ¦μμ ꡬν λ°©μμ λ°κΎΈλ©΄ λ€λ₯Έ μμΈκ° νμ΄λμ κΈ°μ‘΄ ν΄λΌμ΄μΈνΈ νλ‘κ·Έλ¨μ κΉ¨μ§κ² ν μλ μλ€.
μ΄ λ¬Έμ λ₯Ό νΌνκΈ° μν΄μλ
μμ κ³μΈ΅μμλ μ μμ€ μμΈλ₯Ό μ‘μ μμ μ μΆμν μμ€μ λ§λ μμΈλ‘ λ°κΏ λμ ΈμΌνλ€.
- μμΈ λ²μ
try {
... // μ μμ€ μΆμν μ¬μ©
} catch (LowLevelException e) {
// μΆμν μμ€μ λ§κ² λ²μ
throw new HighLevelEception(...);
}
- μμΈ μ°μ
- μ μμ€ μμΈκ° λλ²κΉ μ λμμ΄ λλ€λ©΄ κ³ μμ€ μμΈμ μ€μ΄λ³΄λΈλ€.
try {
... // μ μμ€ μΆμν μ¬μ©
} catch (LowLevelException cause) {
// μΆμν μμ€μ λ§κ² λ²μ
throw new HighLevelEception(cause);
}
μμΈλ₯Ό μ²λ¦¬ν λ νμνλ€λ©΄ μ μμ€μμΈλ μ°Έκ³ ν μ μλ€.
무ν±λκ³ μ μμ€ μμΈλ₯Ό μ ννλ κ²λ³΄λ€λ μμΈ λ²μμ΄ μ°μν λ°©λ²μ΄μ§λ§ λ¨μ©νμ§ λ§μ.
λ¨Όμ μ μμ€ μμΈκ° λ°μνμ§ μλλ‘ λ Έλ ₯νμ.
- μμ λ©μλμμ 맀κ°λ³μ κ°μ κ²μ¬νμ
- κ·Έλλ μμΈκ° λ°μνλ€λ©΄ μμ κ³μΈ΅μμ μμΈλ₯Ό μ‘°μ©ν μ²λ¦¬νμ¬ νΈμΆμμκ² μ λ¬νμ§ μλ λ°©λ²μ΄ μλ€. κ·Έλ¦¬κ³ μμΈλ₯Ό λ‘κΉ ν΄λμ΄ λμ€μ νμν μ‘°μΉλ₯Ό μ·¨ν μ μλ€.
μμ΄ν 74 : λ©μλκ° λμ§λ λͺ¨λ μμΈλ₯Ό λ¬ΈμννλΌ
κ²μ¬ μμΈλ νμ λ°λ‘λ°λ‘ μ μΈνκ³ , κ° μμΈκ° λ°μνλ μν©μ μλ°λ μ ‘@throw’ νκ·Έλ₯Ό μ¬μ©νμ¬ μ νν λ¬Έμν νμ.
λ©μλκ° λμ§ μ μλ μμΈλ₯Ό κ°κ° @throws νκ·Έλ‘ λ¬Έμννλ, λΉκ²μ¬ μμΈλ λ©μλ μ μΈμ throws λͺ©λ‘μ λ£μ§ λ§μ
- κ²μ¬μΈμ§ λΉκ²μ¬μΈμ§μ λ°λΌ ν΄μΌν μΌμ΄ λ¬λΌμ§λ―λ‘ λ©μλ μ¬μ©μκ° λΉκ²μ¬ μμΈλ₯Ό ꡬλΆνκ² νμ.
ν ν΄λμ€μ μ μλ μ¬λ¬ λ©μλκ° κ°μ μ΄μ λ‘ κ°μ μμΈλ₯Ό λμ§λ€λ©΄ κ·Έ μμΈλ₯Ό (κ°κ°μ λ©μλκ° μλ) ν΄λμ€ μ€λͺ μ μΆκ°νλ λ°©λ²λ μλ€.
μμ΄ν 75 : μμΈμ μμΈ λ©μμ§μ μ€ν¨ κ΄λ ¨ μ 보λ₯Ό λ΄μΌλΌ
μ€ν¨ μκ°μ ν¬μ°©νλ €λ©΄ λ°μν μμΈμ κ΄μ¬λ λͺ¨λ 맀κ°λ³μμ νλμ κ°μ μ€ν¨ λ©μμ§μ λ΄μμΌ νλ€.
μμλ‘ IndexOutOfBoundException μμ±μλ Stringμ λ°μ§λ§ μλμ κ°μ΄ μ€ν¨ μν©μ μ¨μ ν ν¬μ°©ν΄λ μ’μμ κ²μ΄λ€.
public class IndexOutOfBoundsException extends RuntimeException {
private final int lowerBound;
private final int upperBound;
private final int index;
/**
* IndexOutOfBoundsExceptionμ μμ±νλ€.
*
* @param lowerBound μΈλ±μ€μ μ΅μκ°
* @param upperBound μΈλ±μ€μ μ΅λκ° + 1
* @param index μΈλ±μ€μ μ€μ ―κ°
*/
public IndexOutOfBoundsException(int lowerBound, int upperBound,
int index) {
// μ€ν¨λ₯Ό ν¬μ°©νλ μμΈ λ©μμ§λ₯Ό μμ±νλ€.
super(String.format(
"μ΅μκ°: %d, μ΅λκ°: %d, μΈλ±μ€: %d",
lowerBound, upperBound, index));
// νλ‘κ·Έλ¨μμ μ΄μ©ν μ μλλ‘ μ€ν¨ μ 보λ₯Ό μ μ₯ν΄λλ€.
this.lowerBound = lowerBound;
this.upperBound = upperBound;
this.index = index;
}
}
μ΄λ κ² ν΄λλ©΄ νλ‘κ·Έλλ¨Έκ° λμ§λ μμΈλ μμ°μ€λ½κ² μ€ν¨λ₯Ό λ μ ν¬μ°©νλ€. κ³ νμ§μ μμΈ λ©μμ§λ₯Ό μμΈ ν΄λμ€ μμΌλ‘ λͺ¨μμ£Όλ―λ‘ ν΄λμ€ μ¬μ©μκ° λ©μμ§λ₯Ό λ§λλ μμ μ λ°λ³΅νμ§ μμλ λλ€.
λν, μμΈλ μ€ν¨μ κ΄λ ¨λ μ 보λ₯Ό μ»μ μ μλ μ κ·Όμ λ©μλλ₯Ό μ μ ν μ 곡νλ κ²μ΄ μ’λ€.
μμ΄ν 76 : κ°λ₯ν ν μ€ν¨ μμμ μΌλ‘ λ§λ€λΌ
νΈμΆλ λ©μλκ° μ€ν¨νλλΌλ ν΄λΉ κ°μ²΄λ λ©μλ νΈμΆ μ μνλ₯Ό μ μ§ν΄μΌνλ€.
→ μ΄λ¬ν νΉμ±μ ‘μ€ν¨ μμμ 'μ΄λΌκ³ νλ€.
- λ©μλλ₯Ό μ€ν¨ μμμ μΌλ‘ λ§λλ λ°©λ²
- λΆλ³ κ°μ²΄λ‘ μ€κ³ (μμ± μμ μ κ³ μ λμ΄ μνκ° λ³νμ§ μμ)
- κ°λ³ κ°μ²΄λ μμ μν μ 맀κ°λ³μμ μ ν¨μ± κ²μ¬λ₯Ό νλ κ² (κ°μ²΄ λ΄λΆ μν λ³κ²½ μ μ μ¬μ μμΈλ₯Ό κ±Έλ¬λ)
- μ€ν¨ν κ°λ₯μ±μ΄ μλ λͺ¨λ μ½λλ₯Ό κ°μ²΄μ μνλ₯Ό λ°κΎΈλ μ½λλ³΄λ€ μμ λ°°μΉνλ€
- κ°μ²΄μ μμ 볡μ¬λ³Έμμ μμ μ μνν λ€μ, μ±κ³΅μ μΌλ‘ μλ£λλ©΄ μλ κ°μ²΄μ κ΅μ²΄νλ€.
- μμ λμ€ λ°μνλ μ€ν¨λ₯Ό κ°λ‘μ±λ 볡ꡬ μ½λλ₯Ό μμ±νμ¬ μμ μ μνλ‘ λλλ¦°λ€
λ©μλ λͺ μΈμ κΈ°μ ν μμΈλΌλ©΄ μμΈκ° λ°μνλλΌλ κ°μ²΄μ μνλ λ©μλ νΈμΆ μ κ³Ό λκ°μ΄ μ μ§λΌμΌ νλ€. μ΄ κ·μΉμ μ§ν€μ§ λͺ»νλ©΄ μ€ν¨ μμ κ°μ²΄ μνλ₯Ό API μ€λͺ μ λͺ μν΄μΌλ§ νλ€. μ΄κ²μ λ§μ APIλ¬Έμμμ μ§μΌμ§μ§ μκ³ μλ€.
μμ΄ν 77 : μμΈλ₯Ό 무μνμ§ λ§λΌ
API μ€κ³μκ° λ©μλ μ μΈμ μμΈλ₯Ό λͺ μνλ κΉλμ κ·Έ λ©μλλ₯Ό μ¬μ©ν λ μ μ ν μ‘°μΉλ₯Ό μ·¨ν΄λ¬λΌκ³ μμ²νλ κ²μ΄λ€...!
- μμΈμ²λ¦¬μμ μ무κ²λ νμ§ μλ μ½λ
try {
} catch (SomeException) {
}
catch λΈλ‘μ λΉμλλ©΄ μμΈκ° μ‘΄μ¬ν μ΄μ κ° μμ΄μ§λ€
μμΈλ₯Ό 무μνκΈ°λ‘ νλ€λ©΄ catch λΈλ‘ μμ κ·Έλ κ² κ²°μ ν μ΄μ λ₯Ό μ£ΌμμΌλ‘ λ¨κΈ°κ³ , μμΈ λ³μμ μ΄λ¦λ ignoredλ‘ λ°κΎΈμ
int numColors = 4;
try {
numColors = f.get(1L, TimeUnit.SECONDS);
} catch (TimeOutException | ExecutionException ignored) {
// κΈ°λ³Έκ°μ μ¬μ©νλ€ (μμ μλ₯Ό μ΅μννλ©΄ μ’μ§λ§, νμλ μλλ€).
}
μμΈλ₯Ό λͺ» λ³Έμ²νκ³ μ§λμΉλ©΄ νλ‘κ·Έλ¨μ μ€λ₯λ₯Ό λ΄μ¬ν μ± λμνκ² λλ€.
μ΄λ μ΄λ μκ° λ¬Έμ μ μμΈκ³Ό μ무 μκ΄μλ κ³³μμ κ°μκΈ° μ£½μ΄λ²λ¦΄ μ μλ€.
μ€λ₯λ₯Ό μ μ ν μ²λ¦¬νκ±°λ 무μνμ§ μκ³ λ°κΉ₯μΌλ‘ μ νλΌλ νμ. μ΄λ κ²λΌλ ν΄μΌ λλ²κΉ μ 보λ λ¨κ²¨λκ³ νλ‘κ·Έλ¨μ΄ μ£½κ²ν μ μλ€.
'πμ½μ μ± μ 리 > μ΄νν°λΈμλ°' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μ΄νν°λΈ μλ°] 12μ₯ : μ§λ ¬ν (0) | 2022.04.08 |
---|---|
[μ΄νν°λΈ μλ°] 11μ₯ : λμμ± (0) | 2022.04.04 |
[μ΄νν°λΈ μλ°] 9μ₯ : μΌλ°μ μΈ νλ‘κ·Έλλ° μμΉ (0) | 2022.03.27 |
[μ΄νν°λΈ μλ°] 8μ₯ : λ©μλ (1) | 2022.03.27 |
[μ΄νν°λΈ μλ°] 7μ₯ : λλ€μ μ€νΈλ¦Ό (0) | 2022.03.23 |