일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 자료구조
- SQL쿡북
- 네트워크
- 클린코드
- 자바
- 인덱스
- 이펙티브자바
- vue.js
- java
- MariaDB
- aop
- 알고리즘분석
- 혼공SQL
- 이팩티브 자바
- react
- mysql
- 자바예외
- 자바스터디
- 인프런김영한
- jpa
- 스프링부트와AWS로혼자구현하는웹서비스
- 도메인 주도 개발 시작하기
- 기술면접
- CleanCode
- 알고리즘
- 인프런백기선
- DDD
- AWS
- 이펙티브 자바
- AWS RDS
- Today
- Total
기록이 힘이다.
Unchecked Exceptions RuntimeException 본문
Java 프로그래밍 언어에는 확인되지 않은 예외( , 및 해당 하위 클래스)를 포착하거나 지정하는 메서드가 필요하지 않기 때문에 프로그래머 RuntimeException는 Error확인되지 않은 예외만 발생시키는 코드를 작성하거나 모든 예외 하위 클래스가 에서 상속되도록 만드는 유혹을 받을 수 있습니다
RuntimeException. 이 두 가지 바로 가기를 사용하면 프로그래머는 컴파일러 오류에 신경 쓰지 않고 예외를 지정하거나 포착하지 않고도 코드를 작성할 수 있습니다. 이것은 프로그래머에게 편리해 보일 수 있지만 catch또는 specify요구 사항의 의도를 벗어나 클래스를 사용하는 다른 사람에게 문제를 일으킬 수 있습니다.
디자이너가 해당 범위 내에서 발생할 수 있는 모든 확인되지 않은 확인된 예외를 지정하는 메서드를 강제로 결정한 이유는 무엇입니까? 메소드에 의해 발생할 수 있는 모든 Exception것은 메소드의 공용 프로그래밍 인터페이스의 일부입니다. 메서드를 호출하는 사람은 메서드가 throw할 수 있는 예외에 대해 알고 있어야 그에 대해 수행할 작업을 결정할 수 있습니다. return이러한 예외는 매개 변수 및 값 만큼 해당 메서드의 프로그래밍 인터페이스의 일부입니다 .
다음 질문은 "메서드가 발생시킬 수 있는 예외를 포함하여 메서드의 API를 문서화하는 것이 좋다면 런타임 예외도 지정하지 않는 이유는 무엇입니까?"일 수 있습니다. 런타임 예외는 프로그래밍 문제의 결과인 문제를 나타내므로 API 클라이언트 코드가 어떤 방식으로든 이를 복구하거나 처리할 것으로 합리적으로 기대할 수 없습니다. 이러한 문제에는 0으로 나누는 것과 같은 산술 예외가 포함됩니다. null 참조를 통해 개체에 액세스하려는 것과 같은 포인터 예외; 너무 크거나 너무 작은 인덱스를 통해 배열 요소에 액세스하려는 시도와 같은 인덱싱 예외.
런타임 예외는 프로그램의 어느 곳에서나 발생할 수 있으며 일반적인 경우에는 매우 많을 수 있습니다. 모든 메서드 선언에 런타임 예외를 추가해야 하는 것은 프로그램의 명료성을 떨어뜨릴 것입니다. 따라서 컴파일러는 런타임 예외를 포착하거나 지정할 것을 요구하지 않습니다(가능하더라도).
a를 던지는 것이 일반적인 사례 중 하나 RuntimeException는 사용자가 메서드를 잘못 호출하는 경우입니다. 예를 들어 메소드는 인수 중 하나가 잘못된 것인지 확인할 수 있습니다 null. 인수가 null인 경우 메서드 는 확인되지 않은 예외 NullPointerException인 를 throw할 수 있습니다.
일반적으로 메서드가 throw할 수 있는 예외를 지정하는 데 방해가 되지 않기 때문에 단순히 RuntimeException하위 클래스를 생성하거나 생성 하지 마십시오.RuntimeException
최종 지침은 다음과 같습니다. 클라이언트가 예외에서 복구할 것으로 합리적으로 예상할 수 있는 경우 확인된 예외로 만드십시오. 클라이언트가 예외에서 복구하기 위해 아무 것도 할 수 없는 경우 확인되지 않은 예외로 만드십시오.
https://steady-hello.tistory.com/55
[Java] 자바의 예외 - Exception, RuntimeException 그리고 Error
자바의 Error, Exception에 대해 알아보려 한다. 지금부터 볼 내용은 포스팅 가장 아래의 레퍼런스 링크를 참조해서 읽어보면 좋겠다. 일단 Error와 Exception의 차이에 대해 알아보자. Throwable class Throwabl
steady-hello.tistory.com
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/RuntimeException.html
RuntimeException (Java SE 11 & JDK 11 )
docs.oracle.com
Direct Known Subclasses:AnnotationTypeMismatchException, ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, CatalogException, ClassCastException, ClassNotPreparedException, CMMException, CompletionException, ConcurrentModificationException, DateTimeException, DOMException, DuplicateRequestException, EmptyStackException, EnumConstantNotPresentException, EventException, FileSystemAlreadyExistsException, FileSystemNotFoundException, FindException, IllegalArgumentException, IllegalCallerException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, IllformedLocaleException, ImagingOpException, InaccessibleObjectException, IncompleteAnnotationException, InconsistentDebugInfoException, IndexOutOfBoundsException, InternalException, InvalidCodeIndexException, InvalidLineNumberException, InvalidModuleDescriptorException, InvalidModuleException, InvalidRequestStateException, InvalidStackFrameException, JarSignerException, JMRuntimeException, JSException, LayerInstantiationException, LSException, MalformedParameterizedTypeException, MalformedParametersException, MirroredTypesException, MissingResourceException, NashornException, NativeMethodException, NegativeArraySizeException, NoSuchDynamicMethodException, NoSuchElementException, NoSuchMechanismException, NullPointerException, ObjectCollectedException, ProfileDataException, ProviderException, ProviderNotFoundException, RangeException, RasterFormatException, RejectedExecutionException, ResolutionException, SecurityException, SPIResolutionException, TypeNotPresentException, UncheckedIOException, UndeclaredThrowableException, UnknownEntityException, UnknownTreeException, UnmodifiableModuleException, UnmodifiableSetException, UnsupportedOperationException, VMDisconnectedException, VMMismatchException, VMOutOfMemoryException, WrongMethodTypeException, XPathException
'JAVA' 카테고리의 다른 글
아이템5 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 (0) | 2023.01.26 |
---|---|
아이템3. 생성자나 열거 타입으로 싱글턴임을 보증하라. (0) | 2023.01.25 |
Process 'command 'npm.cmd'' finished with non-zero exit value 1 (0) | 2023.01.17 |
Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.0.1. (0) | 2023.01.12 |
아이템1. 생성자 대신 정적 팩터리 메서드를 고려하라. (0) | 2023.01.03 |