Java 16일차 3-1(예외처리)
2022. 12. 1. 11:54ㆍ코딩배움일지/JAVA
import java.util.ArrayList;
import java.util.List;
import lombok.Builder;
import lombok.Data;
@Builder
@Data
class User{ /*서브클래스*/ /*default*/
private String username;
private String password;
}
public class UserListException { /*메인 클래스 는 이름이 같아야 함.*/
public static void main(String[] args) {
List<User> userList = new ArrayList<>();
userList.add(new User("aaa", "1111"));
userList.add(new User("bbb", "2222"));
userList.add(new User("ccc", "3333"));
userList.add(new User("ddd", "4444"));
userList.add(null);
int length = userList.size() + 1;
try {
for (int i = 0; i < length; i++) {
System.out.println(userList.get(i));
}
for (int i = 0; i < length; i++) {
System.out.println("username: " + userList.get(i).getUsername());
System.out.println("password: " + userList.get(i).getPassword());
}
} catch (IndexOutOfBoundsException indexOutOfBoundsException) { /*java.lang.IndexOutOfBoundsException 대입 해야한다.*/
length -=1;
System.out.println(indexOutOfBoundsException.getMessage());
try {
for (int i = 0; i < length; i++) { /*위에서 끝났기 때문에 한번더 실행 해야함. 이번에는 */ /*java.lang.NullPointerException:*/
System.out.println("username: " + userList.get(i).getUsername());
System.out.println("password: " + userList.get(i).getPassword());
}
} catch (NullPointerException nullPointerException) {
System.out.println( nullPointerException.getMessage());
}
}
System.out.println("프로그램 정상 종료");
}
}
User(uesername=aaa, password=1111)
User(uesername=bbb, password=2222)
User(uesername=ccc, password=3333)
User(uesername=ddd, password=4444)
null
프로그램 정상 종료
예외처리
import java.util.ArrayList;
import java.util.List;
import lombok.Builder;
import lombok.Data;
@Builder
@Data
class User{ /*서브클래스*/ /*default*/
private String username;
private String password;
}
public class UserListException { /*메인 클래스 는 이름이 같아야 함.*/
public static void main(String[] args) {
List<User> userList = new ArrayList<>();
userList.add(new User("aaa", "1111"));
userList.add(new User("bbb", "2222"));
userList.add(new User("ccc", "3333"));
userList.add(new User("ddd", "4444"));
userList.add(null);
int length = userList.size();
try {
for (int i = 0; i < length; i++) {
System.out.println(userList.get(i));
}
for (int i = 0; i < length; i++) {
System.out.println("username: " + userList.get(i).getUsername());
System.out.println("password: " + userList.get(i).getPassword());
} /*try 문에서 오류 발생하면 */
} catch (IndexOutOfBoundsException indexOutOfBoundsException) { /*java.lang.IndexOutOfBoundsException 대입 해야한다.*/
length -=1;
System.out.println(indexOutOfBoundsException.getMessage());
try {
for (int i = 0; i < length; i++) { /*위에서 오류났기 때문에 한번더 실행 해야함. 이번에는 */ /*java.lang.NullPointerException:*/
System.out.println("username: " + userList.get(i).getUsername());
System.out.println("password: " + userList.get(i).getPassword());
}
} catch (NullPointerException nullPointerException) {
System.out.println( nullPointerException.getMessage());
}
}catch (NullPointerException nullPointerException) { /*NullPointerException 한번더 잡아 줘야함*/
System.out.println( nullPointerException.getMessage());
}
System.out.println("프로그램 정상 종료");
}
}
User(username=aaa, password=1111)
User(username=bbb, password=2222)
User(username=ccc, password=3333)
User(username=ddd, password=4444)
null
username: aaa
password: 1111
username: bbb
password: 2222
username: ccc
password: 3333
username: ddd
password: 4444
Cannot invoke "j18_예외.User.getUsername()" because the return value of "java.util.List.get(int)" is null
프로그램 정상 종료
'코딩배움일지 > JAVA' 카테고리의 다른 글
Java 16일차 4(예외처리) (0) | 2022.12.01 |
---|---|
Java 16일차 3-2(예외처리) (0) | 2022.12.01 |
Java 16일차 3(예외처리 (0) | 2022.12.01 |
Java 16일차 2(JSON) (0) | 2022.12.01 |
Java 16일차 1(JSON) (0) | 2022.12.01 |