Item 72. Standard Exceptions
νμ€ μμΈλ₯Ό μ¬μ©νλΌ
μ½λλ₯Ό μ¬μ¬μ©νλ κ²μ μ’μ μΌμ΄λ€. λ§μ°¬κ°μ§λ‘ μμΈλ μ¬μ¬μ©νλ κ²μ΄ μ’μΌλ©°, μλ° λΌμ΄λΈλ¬λ¦¬λ λλΆλΆ APIμμ μ°κΈ°μ μΆ©λΆν μμ μμΈλ₯Ό μ 곡νλ€. νμ€ μμΈλ₯Ό μ¬μ©νλ©΄ μλμ κ°μ μ₯μ μ μ»μ μ μλ€.
λ€λ₯Έ μ¬λμ΄ μ΅νκ³ μ¬μ©νκΈ° μ¬μ
μμΈ ν΄λμ€κ° μ μμλ‘ λ©λͺ¨λ¦¬ μ¬μ©λλ μ€κ³ , ν΄λμ€λ₯Ό μ μ¬νλ μκ°λ μ κ² κ±Έλ¦Ό
νμ€ μμΈ μ€ κ°μ₯ λ§μ΄ μ¬μ¬μ©λλ μμΈλ λ€μκ³Ό κ°λ€.
IllegalArgumentException
: μΈμλ‘ λΆμ μ ν κ°μ λκΈΈ λ λ°μ(λ°λ³΅ νμμ μμλ₯Ό λκΈ°λ κ²½μ° λ±)λΆμ μ ν κ°μ λκΈ°λ μν© μ€ μλ λ κ°μ§ κ²½μ°λ μλμ μμΈλ₯Ό μ¬μ©νλ€.
NullPointerException
: nullμ νμ©νμ§ μλ λ©μλμ nullμ λκΈΈ λ λ°μIndexOutOfBoundsException
: μΈλ±μ€ λ²μλ₯Ό λμ΄μ€ λ λ°μ
IllegalStateException
: κ°μ²΄κ° λ©μλλ₯Ό μννκΈ°μ μ μ νμ§ μμ μνμΌ λ λ°μ(μ΄κΈ°ν λμ§ μμ κ°μ²΄λ₯Ό μ¬μ©νλ κ²½μ° λ±)ConcurrentModificationException
: λ¨μΌ μ€λ λμμ μ¬μ©νλ €κ³ μ€κ³λ κ°μ²΄λ₯Ό μ¬λ¬ μ€λ λμμ μ¬μ©νλ €κ³ ν λ λ°μUnsupportedOperationException
: μμ²ν λμμ λμ κ°μ²΄κ° μ§μνμ§ μμ λ λ°μ(μμλ₯Ό λ£μ μλ§ μλ Listμ μμλ₯Ό μμ νλ €κ³ ν λ λ±)
μ΄ μΈμλ λ€λ₯Έ νμ€ μμΈλ€μ΄ μ‘΄μ¬νλ, λ§μ½ νμ¬ μν©μ λΆν©νλ νμ€ μμΈκ° μλ€λ©΄ κ·Έκ²μ μ¬μ©νμ. κΈ°μ‘΄ μμΈμμ λ λ§μ μ 보λ₯Ό μ 곡νκ³ μΆλ€λ©΄, μμΈλ₯Ό νμ₯ν΄μ μλ‘μ΄ μμΈλ₯Ό λ§λλ λ°©λ²λ μλ€.
μ μ ν μμΈ μ ν κ°μ΄λ
λ‘μ§μ μμ±νλ€λ³΄λ©΄ μ¬μ¬μ©ν μμΈ μ νμ΄ μ΄λ €μΈ μ μλ€. μν©μ μλλΌκ³ κ°μ νμ.
μΉ΄λ λ±μ νννλ κ°μ²΄ μ‘΄μ¬
μΈμλ‘ κ±΄λ¨ μλ§νΌ μΉ΄λλ₯Ό λ½μ λ°ννλ λ©μλ μ‘΄μ¬
λ§μ½ λ±μ λ¨μ μΉ΄λκ° μΈμλ‘ κ±΄λ¨ μλ³΄λ€ μ λ€λ©΄ μμΈλ₯Ό λμ§
μ΄ μν©μμ μΈμμ κ°μ΄ ν° κ²½μ°μ IllegalArgumentException
μ, λ¨μ μΉ΄λ μκ° μ λ€κ³ 보면 IllegalStateException
μ λμ§λ κ², λ κ°μ§ λ°©λ²μ΄ μλ€.
μ΄λ° μν©μμ μΌλ°μ μΈ κ·μΉμ λ€μκ³Ό κ°λ€.
IllegalStateException
: μΈμ κ°μ΄ 무μμ΄μλ μ€ν¨νλ μνμΈ κ²½μ°IllegalArgumentException
: κ·Έλ μ§ μμ κ²½μ°
Last updated
Was this helpful?