Java85 58.예외 처리하기와 미루기 try-catch 문 - try 블록에는 예외가 발생할 가능성이 있는 코드를 작성하고 try 블록 안에서 예외가 발생하는 경우 catch 블록이 수행됨 try { 예외가 발생할 수 있는 코드 부분 } catch(처리할 예외 타입 e) { try 블록 안에서 예외가 발생했을 때 예외를 처리하는 부분 } - 프로그래머가 예외를 처리해줘야 하는 예 (배열의 오류 처리) - FileExceptionHandling.java public class ArrayExceptionHandling { public static void main(String[] args) { int[] arr = {1,2,3,4,5}; try { for(int i =0; i 2022. 6. 2. 57.예외처리 프로그램에서의 오류 - 컴파일 오류 (Compile error) 프로그램 코드 작성 중 발생하는 문법적 오류 최근에는 개발 환경(eclipse)에서 대부분의 컴파일오류는 detection 됨 - 실행 오류 (Runtime error) 실행 중인 프로그램이 의도 하지 않은 동작(bug)을 하거나 프로그램이 중지되는 오류 실행 오류는 비정상 종료가 되는 경우 시스템의 심각한 장애를 발생할 수 있음 예외 처리의 중요성 - 프로그램의 비정상 종료를 피하여 시스템이 원할이 실행되도록 함 - 실행 오류가 발생한 경우 오류의 과정을 재현하는 것은 현실적으로 힘들다 - 오류가 발생한 경우 log를 남겨서 추후 log 분석을 통해 그 원인을 파악하여 bug를 수정하는 것이 중요 오류와 예외 클래스 - 시스템 오류(err.. 2022. 6. 2. 56.스트림을 활용한 패키지 여행 비용 계산 문제 - 여행사에 패키지 여행 상품이 있습니다. - 여행 비용은 15세 이상은 100만원, 그 미만은 50만원입니다. - 고객 세 명이 패키지 여행을 떠난다고 했을 때 비용 계산과 고객 명단 검색등에 대한 연산을 스트림을 활용해 구현해 봅니다. - 고객에 대한 클래스를 만들고 ArrayList로 고객을 관리합니다. 고객 정보 CustomerLee 이름 : 이순신 나이 : 40 비용 : 100 CustomerKim 이름 : 김유신 나이 : 20 비용 : 50 CustomerHong 이름 : 홍길동 나이 : 13 비용 : 50 - TravelCustomer.java public class TravelCustomer { private String name; private int age; private int .. 2022. 6. 2. 55.연산 수행에 대한 구현 reduce() 메서드 reduce() 연산 - 정의된 연산이 아닌 프로그래머가 직접 구현한 연산을 적용 T reduce(T identify, BinaryOperator accumulator) - 최종 연산으로 스트림의 요소를 소모하며 연산을 수행 - 배열의 모든 요소의 합을 구하는 reduce() 연산 구현 예 Arrays.stream(arr).reduce(0, (a,b) -> a+b)); - reduce() 메서드의 두 번째 요소로 전달되는 람다식에 따라 다양한 기능을 수행할 수 있음 - 람다식을 직접 구현하거나 람다식이 긴 경우 BinaryOperator를 구현한 클래스를 사용함 BinaryOperator를 구현하여 배열에 여러 문자열이 있을 때 길이가 가장 긴 문자열 찾기 예 - CompareString.java cla.. 2022. 6. 1. 이전 1 ··· 3 4 5 6 7 8 9 ··· 22 다음