[Java] Throwable

μ†Œμ΄λŽΒ·2023λ…„ 10μ›” 24일
1

Java

λͺ©λ‘ 보기
25/26
post-thumbnail

πŸ“ Throwable 클래슀

  • unchecked: RuntimeException 클래슀 및 ν•˜μœ„ 클래슀, Error 클래슀 및 ν•˜μœ„ 클래슀
  • checked: κ·Έ μ™Έ

이미지 좜처

πŸ“ Exception vs. Error

ExceptionError
볡ꡬ κ°€λŠ₯μ„±κ°€λŠ₯(try-catch / thorw)λΆˆκ°€λŠ₯
νƒ€μž…checked / uncheckedunchecked
λ°œμƒ μ‹œμ μ»΄νŒŒμΌ / λŸ°νƒ€μž„λŸ°νƒ€μž„
νŒ¨ν‚€μ§€java.lang.Exceptionjava.lang.Error
컴파일러 인식checked만 μ»΄νŒŒμΌλŸ¬κ°€ μΈμ‹μ»΄νŒŒμΌλŸ¬κ°€ 인식 X
μ›μΈμ£Όλ‘œ μ‘μš© ν”„λ‘œκ·Έλž¨ 자체둜 인해 λ°œμƒμ£Όλ‘œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ‹€ν–‰λ˜λŠ” ν™˜κ²½μœΌλ‘œ 인해 λ°œμƒ

πŸ“ Checked Exception vs. Unchecked Exception

이미지 좜처

πŸ“ μ˜ˆμ™Έ 처리 방식

  • try-catch 블둝 μ‚¬μš©: λ‚΄κ°€ 처리
  • throws μ˜ˆμ™Έ μ„ μ–Έ μ‚¬μš©: μœ„λ‘œ λ˜μ Έμ„œ νšŒν”Ό

1) try-catch 블둝 μ‚¬μš©

package lesson12;

public class Ex01 {

	public static void main(String[] args) {
		try {
			String str1 = null;
			System.out.println(str1.isEmpty());
		} catch(NullPointerException e) {
			System.out.println("NPE λ°œμƒ");
			e.printStackTrace();
		} finally {
			System.out.println("항상 μ‹€ν–‰");
		}
	}

}

2) throws μ˜ˆμ™Έ μ„ μ–Έ μ‚¬μš©

package lesson12;

public class Ex02 {

	public static void main(String[] args) {
		a();
	}

	public static void a() {
		try {
			b();
		} catch(Exception e) {
			System.out.println("a λ©”μ†Œλ“œμ—μ„œ μ˜ˆμ™Έ 처리");
			e.printStackTrace();
		}

	}

	public static void b() throws Exception {
		System.out.println("b λ©”μ†Œλ“œμ—μ„œ μ˜ˆμ™Έ λ°œμƒ");
		throw new Exception();
	}

}

πŸ“ Throwable 클래슀 λ©”μ†Œλ“œ

λ©”μ†Œλ“œλͺ…μ„€λͺ…λ°˜ν™˜κ°’
printStackTrace()μ˜ˆμ™Έμ˜ μŠ€νƒ 트레이슀 정보λ₯Ό ν‘œμ€€ μ—λŸ¬ 좜λ ₯ μŠ€νŠΈλ¦Όμ— 좜λ ₯ν•˜λŠ” λ©”μ†Œλ“œvoid

1개의 λŒ“κΈ€

comment-user-thumbnail
2024λ…„ 5μ›” 28일

κ°μ‚¬ν•©λ‹ˆλ‹€. 쒋은 ν•˜λ£¨ λ³΄λ‚΄μ„Έμš”^^*

λ‹΅κΈ€ 달기