본문 바로가기

분류 전체보기474

오류의 로그 남기기 - java.util.logging.Logger logging 시스템 운영에 대한 기록 오류가 발생 했을 때 그 오류에 대한 기록을 남겨 디버깅을 용이하게 함 로그 파일에 기록하는 코드를 추가하여 필요한 정보가 로그로 남을 수 있도록 한다. 디버깅, 시스템 에러 추적, 성능, 문제점 향상들을 위해 사용 어느정도까지 로그를 남길것인지 결정 너무 적은 로그: 정확한 시스템의 상황을 파악하기 어려움 너무 많은 로그: 빈번한 file I/O의 오버헤드와 로그 파일의 백업 문제 java.util.logging 자바에서 기본적으로 제공되는 log package 파일이나 콘솔에 로그 내용을 출력할 수 있음 jre/lib/logging.properties 파일을 편집하여 로그의 출력방식 로그 레벨을 변경 할 수 있음 logging 패키지에서 제공하는 로그 레벨은 s.. 2021. 5. 23.
사용자 정의 예외 클래스 사용자 정의 예외 클래스 구현 자바에서 제공되는 예외 클래스외에 프로그래머가 직접 만들어야 하는 예외가 있을 수 있다 기존 예외 클래스중 가장 유사한 예외 클래스에서 상속 받아 사용자 정의 예외 클래스를 만든다. 기본적으로 Exception 클래스를 상속해서 만들 수 있음 패스워드에 대한 예외 처리 하기 비밀번호는 null일 수 없다 비밀번호의 길이는 5이상이다 비밀번호는 문자로만 이루어져서는 안된다(하나이상의 숫자나 특수문자를 포함) PassWordException package ch57; public class PassWordException extends Exception{ public PassWordException (String message) { super(message); } } PassWo.. 2021. 5. 23.
예외 처리 방법(처리하기, 미루기) 2 예외 처리 미루기 예외 처리는 예외가 발생하는 문장에서 try-catch 블록으로 처리하는 방법과 이를 사용하는 부분에서 처리하는 방법 두 가지가 있다. throws를 이용하면 예외가 발생할 수 있는 부분을 사용하는 문장에서 예외를 처리할 수 있음 각각 예외처리를 나눈 예시 package ch56; import java.io.FileInputStream; import java.io.FileNotFoundException; public class ThrowsException { //해당 메소드를 호출하는 쪽에서 Exception 처리를 한다 public Class loadClass(String fileName, String className) throws FileNotFoundException, Class.. 2021. 5. 23.
예외 처리 방법(처리하기, 미루기) try-catch 문 try 블록에서 예외가 발생할 가능성이 있는 코드를 작성하고 try 블록 안에서 예외가 발생하는 경우 catch 블록이 수행됨 try { 예외가 발생할 수 있는 코드 부분 } catch(처리할 예외 타입 e) { try 블록 안에서 예외가 발생했을 때 예외를 처리하는 부분 } 프로그래머가 예외를 처리해줘야 하는 예(배열의 오류 처리) 예외처리를 안해줄경우 밑에 log가 수행되지 않는다. package ch56; public class ArrayIndexException { public static void main(String[] args) { int[] arr = {1,2,3,4,5}; //for(int i = 0; i 2021. 5. 23.
예외 처리 설명 프로그램에서의 오류 컴파일 오류(compile error) 프로그램 코드 작성 중 발생하는 문법적 오류 최근에는 개발 환경에서 대부분의 컴파일 오류는 detection 됨 실행 오류 (runtime error) 실행 중인 프로그램이 의도 하지 않은 동작(bug)을 하거나 프로그램이 중지 되는 오류 실행 오류는 비정상 종료가 되는 경우 시스템의 심각한 장애를 발생할 수 있음 예외 처리의 중요성 프로그램의 비정상 종료를 피하여 시스템이 원할이 실행되도록 함 실행 오류가 발생한 경우 오류의 과정을 재현하는 것은 현실적으로 힘들다 오류가 발생한 경우 log를 남겨서 추후 log 분석을 통해 그 원인을 파악하여 bug를 수정하는 것이 중요 오류와 예외 클래스 시스템 오류(error) 가상 머신에서 발생, 프로그래.. 2021. 5. 22.
스트림을 활용하여 패키지 여행 비용 계산하기 문제 여행사에 패키지 여행 상품이 있습니다. 여행 비용은 15세 이상은 100만원, 그 미만은 50만원 입니다. 고객 세 명이 패키지 여행을 떠난다고 했을 때 비용 계산과 고객 명단 검색등에 대한 연산을 스트림을 활용하여 구현해 봅니다. 고객에 대한 클래스를 만들고 ArrayList로 고객을 관리 합니다 스트림을 활용한 연산 수행 1. 고객의 명단을 출력 2. 여행의 총 비용을 계산 3. 고객 중 20세 이상인 사람의 이름을 정렬하여 출력 TravelCustomer.java package ch55; public class TravelCustomer { private String name; // 이름 private int age;// 나이 private int price;// 가격 public Travel.. 2021. 5. 22.