Throwable Class
- 시작은 모든 객체의 원형인
object
클래스에서 시작함
- 문제상황을 뜻하는
Throwable
클래스가 Object
클래스를 상속함
Throwable
클래스의 자식으로 에러(Error)
와 예외(Exception)
클래스가 있음
에러(Error)
클래스와 예외(Exception)
클래스는 각각 IOError 클래스
, RuntimeException
클래스와 같이 구분하여 처리됨
💥 참고!
RuntimeException
을 상속한 예외들은 UnchekedException
, 반대로 상속하지 않은 예외들은 ChekedException
으로 구현되어 있음
💥 참고!
NullPointException
, ArrayIndexOutOfBoundException
등의 예외 구현체들은 명시적인 에러 처리를 하지 않아도 컴파일 에러가 발생하지 않음
ChekedException
에 속하는 에러 구현체들은 핸들링하지 않으면 컴파일 에러가 발생하는 대신, 컴파일이 됐다면 100% 복구가 가능한 에러였다는 것
Java 예외 리스트
java.io
IOException
CharConversionException
EOFException
FileNotFoundException
InterruptedIOException
ObjectStreamException
InvalidClassException
InvalidObjectException
NotActiveException
NotSerializableException
OptionalDataException
StreamCorruptedException
WriteAbortedException
SyncFailedException
UnsupportedEncodingException
UTFDataFormatException
UncheckedIOException
java.lang
ReflectiveOperationException
ClassNotFoundException
InstantiationException
IllegalAccessException
InvocationTargetException
NoSuchFieldException
NoSuchMethodException
CloneNotSupportedException
InterruptedException
산술 예외
IndexOutOfBoundsException
ArrayIndexOutOfBoundsException
StringIndexOutOfBoundsException
ArrayStoreException
ClassCastException
EnumConstantNotPresentException
IllegalArgumentException
IllegalThreadStateException
NumberFormatException
IllegalMonitorStateException
IllegalStateException
NegativeArraySizeException
NullPointerException
SecurityException
TypeNotPresentException
UnsupportedOperationException
java.net
HttpRetryException
SocketTimeoutException
MalformedURLException
ProtocolException
SocketException
BindException
ConnectException
NoRouteToHostException
PortUnreachableException
UnknownHostException
UnknownServiceException
URISyntaxException
java.text
ParseException
java.time
DateTimeException
java.time.zone
ZoneRulesException