κ°λ° νλ©΄μ λΉμ°ν λΆλΆμ΄μμ§λ§ λμκ² μλ‘κ² λ€κ°μλ μμΈμ²λ¦¬ ... γ
리뷰 ν΄μ£Όμλ 맀λμ λμ΄ λ무 μ μλ €μ£Όμ μ μ 리 ν΄λ΄ λλ€ ( 격ν κ°μ¬ π₯Ή )
μμ λͺ©μ΄ μ°κ΄λμ΄ μ΄μ΄μ§μ§λ μκ³ μν©λ§λ€ μμΈμ²λ¦¬ νλ λΆλΆμ λ©λͺ¨νμ΅λλ€.
μμΈ λ°μ μ μ‘°μΉλ₯Ό λͺ»νλ κ²½μ° & κ΄λ¦¬νμ§ λͺ»νλ κ²½μ°
POINT
* λ°μν λ§ κ³³ μμ catch ν λ©μμ§λ₯Ό μ λλ€. (μμΈμν©μ μ νν μμ νλ€)
* μΈμ²΄ν¬μμΈλ‘ λ³κ²½νλ€.
μμΈλ₯Ό μ‘μ§ λͺ»νλ©΄ μλ°μμλ ν΄λΉ μ 보λ₯Ό μλμΌλ‘ μΆλ ₯ν©λλ€.
νμ§λ§ μ€ν¨μμΈμ λΆμν λ λ³Ό μ μλ μ 보λ μ€νμ λ³΄μΌ κ²½μ°κ° λ§κΈ° λλ¬Έμ
log λ‘ μμΈλ₯Ό κ΄λ¦¬νκ³ μλ€λ©΄ μ€ν¨ μμΈμ κ΄ν μ 보λ₯Ό κ°λ₯ν λ§μ΄ λ΄μ λ°ννμ¬
μΆμ νκΈ° μ½λλ‘ νλκ² μ€μν©λλ€!
1. λ°μν μμΈμ λν λͺ¨λ κ°μ μ€ν¨ λ©μμ§μ λ΄λλ€.
- λ¨μν catch ν throw μν€λ κ²μ μμΈλΈλνμ λΉ μ§ μ μλ€.
μ£Όμ! ) μ€μ μ¬μ©μμκ² λ³΄μ¬μ€ μ€λ₯ λ©μμ§μ ν¨κ» μ¬μ©νλ©΄ μλλ€.
μ¬μ©μμκ²λ κ°λ¨νκ³ λͺ λ£νκ² μ΄λ€ μ€λ₯κ° λ¬λμ§ μ€λͺ νκ³
μμΈ λ©μμ§λ κ°λ μ±λ³΄λ€λ μ΄λ€ μλ¬κ° λ°μνλμ§μ λν λ΄μ©μ μ€μμ ν΄μΌνλ€.
2. μ€μ λ‘μ§ κ³Ό μμΈμ²λ¦¬ λΆλΆμ΄ λλμ΄μ Έ νμν λΆλΆμ μ§μ€ν μ μλλ‘ νλ€.
3. μΈμ²΄ν¬ μμΈ
RuntimeException μ μμν μμΈλ€μ λ°λ‘ μΈμ²΄ν¬ μμΈλΌκ³ νλ€(λ°νμ μμΈλΌκ³ λ ν¨)
μΈμ²΄ν¬ μμΈλ λ°λ‘ catch λ¬ΈμΌλ‘ μ‘κ±°λ, thrwos νμ§ μμλ λλ€.
λ³΄ν΅ μ μΆλ ₯ κ΄λ ¨ ν΄λμ€λ€μ νμ Exception μ²λ¦¬λ₯Ό ν΄μ£Όμ΄μΌ νλ€.
μ μΆλ ₯μ΄μ§λ§ μμΌλ©΄ μ€νμν€μ§ μμλ λλ λΆλΆ μ 무μνκ³ κ³μ λμνκ² λμ΄μΌ νκΈ° λλ¬Έμ RuntimeException μ΄ μλκ² κ°λ€. μΈμ²΄ν¬ μμΈλ λ‘μ§μ λ°λΌ μΆ©λΆν κ³ λ―Ό ν μ¬μ©ν΄μΌ νλ€.
* μΈμ²΄ν¬μ§λ§ μ΄λ€ μλ¬κ° λ°μνλμ§μ λν λ΄μ©μ νμλ‘ μμ±νκΈ°
μμΈ κ΄λ¦¬νκΈ°
POINT
μμΈ λ³΅κ΅¬, μμΈ μ ν , μμΈ ννΌ
Try with resource
- try μ½λ λΈλ‘μ΄ λλ λ μμμ μ’ λ£μμΌμ€λ€. μ¦, finally μ΄γ £λ catch λΈλ‘μ μ’ λ£ μ²λ¦¬λ₯Ό νμ§ μμλ λλ€.
try (SomeResource resource = getResource()) {
use(resource);
} catch(...) {
...
}
μμ κ°μ΄ μ¬μ©νλλ° try μ μ λ¬λλ μμμ AutoCloseable μΈν°νμ΄μ€μ ꡬνμ²΄λ‘ νμ λλ€.
(μμμ μλμΌλ‘ μ’ λ£ μμΌμ£Όλ ꡬνμ²΄κ° μ ν λμ΄μλ€.)
μμΈ ννΌ
- ν΄λΉ λ‘μ§μ΄ μλ νΈμΆνλ λΆλΆμμ Handling νλλ‘ νλ€.
private void getUserInfo() throws XXXException{
}
μμ κ°μ μ½λκ° Exception λ°μμ throwsλ₯Ό ν΅ν΄ νΈμΆ λ λΆλΆμΌλ‘ ν΄λΉ μμΈλ₯Ό λμ Έλ²λ¦¬λ©΄μ μμΈμ²λ¦¬λ₯Ό ννΌνλ λ°©μμ΄λ€.
* νΈμΆ λΆλΆμμ μμΈλ₯Ό μ²λ¦¬νλκ² λ§μ κ²½μ°μ μ¬μ©ν΄μΌ νλ€.
* ν΄λΉλ‘μ§μμ μ²λ¦¬νμ§ μκ³ ννΌνλ €λ λͺ©μ , νμ μ΄ μμ΄μΌλ§ μ¬μ©ν΄μΌ νλ€.
'π WEB > JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ λ€λ¦ DTO (0) | 2023.03.14 |
---|---|
νλ©΄μ μνλ μλ¬λ©μμ§ λ³΄λ΄κΈ° (1) | 2023.03.09 |
Enum Type μμ Function Interface νμ© (0) | 2022.04.01 |
Test-Driven-Development ν μ€νΈ μ£Όλ κ°λ° (0) | 2022.03.24 |
Java 8 Interface - default λ©μλ, static λ©μλ (0) | 2022.03.23 |