일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 구현
- Math
- Binary Search
- geometry
- database
- 파이썬
- SQL
- Method
- Tree
- simulation
- implement
- array
- Number Theory
- 코딩테스트
- two pointers
- Data Structure
- Counting
- java
- 자바
- Matrix
- greedy
- Binary Tree
- string
- Class
- hash table
- 코테
- sorting
- bit manipulation
- Stack
- dynamic programming
- Today
- Total
목록exception (6)
코린이의 소소한 공부노트
프로그램을 실행하는 과정에서 발생하는 미약한 오류를 예외라고 한다. 1. 예외는 사용자의 실수 등 프로그램 외적인 요소에 의해 발생하는 것으로, try-catch문을 이용해 발생한 예외를 처리한다. 2. 한 예외가 다른 예외를 발생시킬 수 있다. 예외 A가 예외 B를 발생시키면 A는 B의 원인 예외(cause exception)가 된다. Throwable initCause(Throwable A) // A를 원인 예외로 등록 Throwable getCause() // 원인 예외를 반환 // Throwable 클래스 코드 살펴보기 public class Throwable implements Serializable{ // ... // 원인 예외를 저장하기 위한 iv private Throwable cause ..
[사용자 정의 예외 만들기] 1. 조상은 Exception과 RuntimeException 중에서 선택한다. - 필요한 경우에만 Exception 클래스를 상속받아 체크드 예외로 만들자. - 예외를 선택 처리하는 RuntimeException을 상속받아 언체크드 예외로 만드는 것이 편하다. 2. 보통 예외 메시지가 다 있기 때문에 문자열을 매개변수로 받는 생성자가 필요하다. // 예시1. 사용자 정의 예외의 기본 틀 class MyException extends Exception{ // 체크드 예외 -> try-catch 필수 MyException(String msg){ // 문자열을 매개변수로 받는 생성자 super(msg);// 조상인 Exception 클래스의 생성자 호출 } } // 예시2. 기본..
예외를 처리하는 방법에는 크게 3가지 정도가 있다. 1. try-catch문: 예외가 발생한 곳에서 직접 처리하는 방법 - 2022.05.19 - [Java] - 프로그램 오류의 종류와 예외 처리 2. 예외 선언하기: 예외를 다른 곳에 떠넘기는(알리는) 방법 3. 은폐: 빈 catch 블록을 선언해 예외를 덮거나 무시하는 방법 - 사용하지 않는 것을 원칙으로 하고 있으나 - 빅데이터 처리 등 이상한 정보를 처리하지 않아야 할 때 사용 이번 글에서 볼 것은 예외 선언하기이다. 메서드에 예외를 선언한다는 것은 메서드 호출 시 발생 가능한 예외를 호출하는 쪽에 알리는 것을 말한다. 1. 선언 방법 void method() throws Exception1, Exception2, ..., ExceptionN{ /..
간단하게 프로그램 오류를 나눠보면 다음과 같다. 1. 컴파일 에러 - 컴파일 단계에서 발생 2. 런타임 에러 - 실행 단계에서 발생 1) 에러 - 심각한 오류 2) 예외 - 미약한 오류 3. 논리적 에러 - 작성 의도와 맞지 않는 경우 이 중 예외가 컴파일러 기준으로 다시 2가지로 나뉘게 된다. 1. 체크드(checked) 예외 - 컴파일러가 컴파일 단계에서 예외 처리 여부를 체크하는 예외로 - 예외 처리(try-catch)문이 필수적이다. - Exception 클래스와 그 자손 클래스에 해당한다. 아래 코드는 throw를 이용해 Exception을 발생시키고 예외 처리 문을 작성하지 않은 것이다. class Test { public static void main(String[] args) { throw..
코드를 작성해서 돌리면 1. 컴파일 에러가 나거나 2. 런타임 에러가 나거나 3. 논리적 에러가 나거나 4. 내 멘탈이 나가거나 정상 작동하는 상황을 만날 수 있다. 대부분의 사람들은 예외든 에러든 별로 만나고 싶어 하지 않는다. 일단 고치는 게 귀찮고 퇴근이 늦어지기 때문이다. 그래서 달갑지 않겠지만, 이 글에서 오늘 할 일은 예외를 고의적으로 발생시키는 일이다. 예외를 발생시키는 방법은 1. new 연산자를 이용해서 발생시키려는 예외 클래스의 객체를 만든 다음 Exception e = new Exception("고의로 발생시킨 예외"); 2. throw 키워드를 이용해 예외를 발생시키면 된다. throw e; throw에서 예외를 던졌으니, 예외를 받아주는 곳도 필요하다. 그것이 catch 블록이다...
try 블록을 실행하다가 예외가 발생하게 되면 해당 예외 타입의 객체가 발생하게 된다. 이때 이 객체에는 여러 가지 정보가 들어있는데, 그중 이번에 볼 것은 메서드 2가지이다. 1. printStackTrace() - 예외 발생 당시의 호출 스택(call stack)에 있었던 메서드 정보와 예외 메시지를 화면에 출력한다. 2. getMessage() - 발생한 예외 클래스의 인스턴스에 저장된 메시지를 얻는다. 0으로 나누는 산술 예외를 발생시켜서 어떤 메시지를 얻을 수 있는지 살펴보자. class Test{ public static void main(String args[]) { System.out.println(1); try { System.out.println(2); System.out.println..