Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 월칙
- 공헌감
- try-with-resources
- kubernetes
- 비메모리 자원
- 과제의 분리
- 도파민형 인간
- 레퍼런스 복사
- 아웃풋법칙
- Container
- 수부타이
- 참조 계수
- try width resources
- 뉴 컨피던스
- 부자의그릇
- sentry
- colllection
- HTML
- CSS
- 칭기즈칸의 위대한 장군 수부타이
- 히든 스토리
- ESG
- java
- node
- docker
- 모두가 기다리는 사람
- 쿠버네티스
- 이펙티브 자바
- Infresh
- apache kafka
Archives
- Today
- Total
Hi
Exception(예외)와 try-with-resources 본문
Exception
* Checked Exception:
=> 반드시 사용자가 예외 처리를 하던가, 외부로 던져야 한다.
=> IOException
* Unchecked Exception:
=> 처리하지 않아도 되지만, 예외 발생시 프로그램이 종료된다.
import java.io.*;
class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
// Java 7: Try with Resource
// C#: using 구문
public void save(String filename) {
try (FileOutputStream fos = new FileOutputStream(filename);
DataOutputStream dos = new DataOutputStream(fos)) {
dos.writeInt(age);
dos.writeBytes(name);
} catch (IOException e) {
e.printStackTrace();
}
}
/* Java 6
// FileOutputStream
public void save(String filename) {
FileOutputStream fos = null;
DataOutputStream dos = null;
try {
fos = new FileOutputStream(filename);
dos = new DataOutputStream(fos);
dos.writeInt(age);
dos.writeBytes(name);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fos != null)
fos.close();
} catch (IOException e) {
}
try {
if (dos != null)
dos.close();
} catch (IOException e) {
}
}
}
*/
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
public class Program_0322 {
}
'Programming > Java' 카테고리의 다른 글
Reflection (0) | 2018.04.02 |
---|---|
얕은 복사, 깊은 복사, 참조 계수(Reference Counting) (0) | 2018.03.30 |
vi & 터미널(terminal) 명령어 (0) | 2018.03.29 |
비메모리 자원이 있는 객체와 Try with Resources (0) | 2018.03.29 |
Buffer와 Cache (0) | 2018.03.29 |