Added chainedexceptions in core-java
This commit is contained in:
parent
e17dd32c49
commit
b2a03d92aa
|
@ -16,3 +16,7 @@
|
||||||
*.txt
|
*.txt
|
||||||
/bin/
|
/bin/
|
||||||
/temp
|
/temp
|
||||||
|
|
||||||
|
#IntelliJ specific
|
||||||
|
.idea
|
||||||
|
*.iml
|
|
@ -0,0 +1,44 @@
|
||||||
|
package com.baeldung.chainedexception;
|
||||||
|
|
||||||
|
import com.baeldung.chainedexception.exceptions.GirlFriendOfManagerUpsetException;
|
||||||
|
import com.baeldung.chainedexception.exceptions.ManagerUpsetException;
|
||||||
|
import com.baeldung.chainedexception.exceptions.NoLeaveGrantedException;
|
||||||
|
import com.baeldung.chainedexception.exceptions.TeamLeadUpsetException;
|
||||||
|
|
||||||
|
public class LogWithChain {
|
||||||
|
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
getLeave();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void getLeave() throws NoLeaveGrantedException {
|
||||||
|
try {
|
||||||
|
howIsTeamLead();
|
||||||
|
} catch (TeamLeadUpsetException e) {
|
||||||
|
throw new NoLeaveGrantedException("Leave not sanctioned.", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void howIsTeamLead() throws TeamLeadUpsetException {
|
||||||
|
try {
|
||||||
|
howIsManager();
|
||||||
|
} catch (ManagerUpsetException e) {
|
||||||
|
throw new TeamLeadUpsetException(
|
||||||
|
"Team lead is not in good mood", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void howIsManager() throws ManagerUpsetException {
|
||||||
|
try {
|
||||||
|
howIsGirlFriendOfManager();
|
||||||
|
} catch (GirlFriendOfManagerUpsetException e) {
|
||||||
|
throw new ManagerUpsetException("Manager is in bad mood", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void howIsGirlFriendOfManager()
|
||||||
|
throws GirlFriendOfManagerUpsetException {
|
||||||
|
throw new GirlFriendOfManagerUpsetException(
|
||||||
|
"Girl friend of manager is in bad mood");
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,47 @@
|
||||||
|
package com.baeldung.chainedexception;
|
||||||
|
|
||||||
|
import com.baeldung.chainedexception.exceptions.GirlFriendOfManagerUpsetException;
|
||||||
|
import com.baeldung.chainedexception.exceptions.ManagerUpsetException;
|
||||||
|
import com.baeldung.chainedexception.exceptions.NoLeaveGrantedException;
|
||||||
|
import com.baeldung.chainedexception.exceptions.TeamLeadUpsetException;
|
||||||
|
|
||||||
|
public class LogWithoutChain {
|
||||||
|
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
getLeave();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void getLeave() throws NoLeaveGrantedException {
|
||||||
|
try {
|
||||||
|
howIsTeamLead();
|
||||||
|
} catch (TeamLeadUpsetException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
throw new NoLeaveGrantedException("Leave not sanctioned.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void howIsTeamLead() throws TeamLeadUpsetException {
|
||||||
|
try {
|
||||||
|
howIsManager();
|
||||||
|
} catch (ManagerUpsetException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
throw new TeamLeadUpsetException(
|
||||||
|
"Team lead is not in good mood");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void howIsManager() throws ManagerUpsetException {
|
||||||
|
try {
|
||||||
|
howIsGirlFriendOfManager();
|
||||||
|
} catch (GirlFriendOfManagerUpsetException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
throw new ManagerUpsetException("Manager is in bad mood");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void howIsGirlFriendOfManager()
|
||||||
|
throws GirlFriendOfManagerUpsetException {
|
||||||
|
throw new GirlFriendOfManagerUpsetException(
|
||||||
|
"Girl friend of manager is in bad mood");
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.baeldung.chainedexception.exceptions;
|
||||||
|
|
||||||
|
public class GirlFriendOfManagerUpsetException extends Exception {
|
||||||
|
|
||||||
|
public GirlFriendOfManagerUpsetException(String message, Throwable cause) {
|
||||||
|
super(message, cause);
|
||||||
|
}
|
||||||
|
|
||||||
|
public GirlFriendOfManagerUpsetException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.baeldung.chainedexception.exceptions;
|
||||||
|
|
||||||
|
public class ManagerUpsetException extends Exception {
|
||||||
|
|
||||||
|
public ManagerUpsetException(String message, Throwable cause) {
|
||||||
|
super(message, cause);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ManagerUpsetException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.baeldung.chainedexception.exceptions;
|
||||||
|
|
||||||
|
public class NoLeaveGrantedException extends Exception {
|
||||||
|
|
||||||
|
public NoLeaveGrantedException(String message, Throwable cause) {
|
||||||
|
super(message, cause);
|
||||||
|
}
|
||||||
|
|
||||||
|
public NoLeaveGrantedException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.baeldung.chainedexception.exceptions;
|
||||||
|
|
||||||
|
public class TeamLeadUpsetException extends Exception {
|
||||||
|
|
||||||
|
public TeamLeadUpsetException(String message, Throwable cause) {
|
||||||
|
super(message, cause);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TeamLeadUpsetException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue