From 37e912cb5808bec9c101e1d76c45140c1145f680 Mon Sep 17 00:00:00 2001 From: Josh Cummings Date: Tue, 26 Jun 2018 09:29:15 -0600 Subject: [PATCH] Formatting and Naming Conventions This commit reworks the code for the Intro to Exception Handling article, ensuring that packages and classes are formatted and named according to site standards. --- .../ExceptionHandling/MyException.java | 4 - .../baeldung/ExceptionHandling/Player.java | 11 -- .../PlayerScoreException.java | 7 -- .../Exceptions.java | 108 +++++++++--------- .../exceptionhandling/MyException.java | 5 + .../baeldung/exceptionhandling/Player.java | 12 ++ .../PlayerLoadException.java | 4 +- .../PlayerScoreException.java | 8 ++ .../TimeoutException.java | 5 +- .../ExceptionHandling/ExceptionsTest.java | 76 ------------ .../ExceptionHandling/ExceptionsUnitTest.java | 76 ------------ .../exceptionhandling/ExceptionsUnitTest.java | 86 ++++++++++++++ 12 files changed, 169 insertions(+), 233 deletions(-) delete mode 100644 core-java/src/main/java/com/baeldung/ExceptionHandling/MyException.java delete mode 100644 core-java/src/main/java/com/baeldung/ExceptionHandling/Player.java delete mode 100644 core-java/src/main/java/com/baeldung/ExceptionHandling/PlayerScoreException.java rename core-java/src/main/java/com/baeldung/{ExceptionHandling => exceptionhandling}/Exceptions.java (89%) create mode 100644 core-java/src/main/java/com/baeldung/exceptionhandling/MyException.java create mode 100644 core-java/src/main/java/com/baeldung/exceptionhandling/Player.java rename core-java/src/main/java/com/baeldung/{ExceptionHandling => exceptionhandling}/PlayerLoadException.java (52%) create mode 100644 core-java/src/main/java/com/baeldung/exceptionhandling/PlayerScoreException.java rename core-java/src/main/java/com/baeldung/{ExceptionHandling => exceptionhandling}/TimeoutException.java (70%) delete mode 100644 core-java/src/test/java/com/baeldung/ExceptionHandling/ExceptionsTest.java delete mode 100644 core-java/src/test/java/com/baeldung/ExceptionHandling/ExceptionsUnitTest.java create mode 100644 core-java/src/test/java/com/baeldung/exceptionhandling/ExceptionsUnitTest.java diff --git a/core-java/src/main/java/com/baeldung/ExceptionHandling/MyException.java b/core-java/src/main/java/com/baeldung/ExceptionHandling/MyException.java deleted file mode 100644 index effa66fb7a8b..000000000000 --- a/core-java/src/main/java/com/baeldung/ExceptionHandling/MyException.java +++ /dev/null @@ -1,4 +0,0 @@ - -public class MyException extends Throwable{ - -} diff --git a/core-java/src/main/java/com/baeldung/ExceptionHandling/Player.java b/core-java/src/main/java/com/baeldung/ExceptionHandling/Player.java deleted file mode 100644 index b63d53c0d54c..000000000000 --- a/core-java/src/main/java/com/baeldung/ExceptionHandling/Player.java +++ /dev/null @@ -1,11 +0,0 @@ - -public class Player { - - public int id; - public String name; - - public Player(String name) { - this.name = name; - } - -} diff --git a/core-java/src/main/java/com/baeldung/ExceptionHandling/PlayerScoreException.java b/core-java/src/main/java/com/baeldung/ExceptionHandling/PlayerScoreException.java deleted file mode 100644 index d4c47bf029bc..000000000000 --- a/core-java/src/main/java/com/baeldung/ExceptionHandling/PlayerScoreException.java +++ /dev/null @@ -1,7 +0,0 @@ -import java.io.IOException; - -public class PlayerScoreException extends Exception { - public PlayerScoreException(IOException e) { - super(e); - } -} diff --git a/core-java/src/main/java/com/baeldung/ExceptionHandling/Exceptions.java b/core-java/src/main/java/com/baeldung/exceptionhandling/Exceptions.java similarity index 89% rename from core-java/src/main/java/com/baeldung/ExceptionHandling/Exceptions.java rename to core-java/src/main/java/com/baeldung/exceptionhandling/Exceptions.java index 2ee384fea52a..eb8b733f82fe 100644 --- a/core-java/src/main/java/com/baeldung/ExceptionHandling/Exceptions.java +++ b/core-java/src/main/java/com/baeldung/exceptionhandling/Exceptions.java @@ -1,3 +1,5 @@ +package com.baeldung.exceptionhandling; + import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; @@ -10,9 +12,9 @@ import java.util.stream.Collectors; public class Exceptions { - + private final static Logger logger = Logger.getLogger("ExceptionLogging"); - + public static List getPlayers() throws IOException { Path path = Paths.get("players.dat"); List players = Files.readAllLines(path); @@ -21,8 +23,7 @@ public static List getPlayers() throws IOException { .map(Player::new) .collect(Collectors.toList()); } - - + public List loadAllPlayers(String playersFile) throws IOException{ try { throw new IOException(); @@ -30,12 +31,12 @@ public List loadAllPlayers(String playersFile) throws IOException{ throw new IllegalStateException(); } } - + public int getPlayerScoreThrows(String playerFile) throws FileNotFoundException { Scanner contents = new Scanner(new File(playerFile)); return Integer.parseInt(contents.nextLine()); } - + public int getPlayerScoreTryCatch(String playerFile) { try { Scanner contents = new Scanner(new File(playerFile)); @@ -44,7 +45,7 @@ public int getPlayerScoreTryCatch(String playerFile) { throw new IllegalArgumentException("File not found"); } } - + public int getPlayerScoreTryCatchRecovery(String playerFile) { try { Scanner contents = new Scanner(new File(playerFile)); @@ -54,22 +55,19 @@ public int getPlayerScoreTryCatchRecovery(String playerFile) { return 0; } } - - + public int getPlayerScoreFinally(String playerFile) throws FileNotFoundException { Scanner contents = null; try { contents = new Scanner(new File(playerFile)); return Integer.parseInt(contents.nextLine()); } finally { - if (contents != null) { - contents.close(); + if (contents != null) { + contents.close(); + } } } -} - - public int getPlayerScoreTryWithResources(String playerFile) { try (Scanner contents = new Scanner(new File(playerFile))) { return Integer.parseInt(contents.nextLine()); @@ -77,8 +75,8 @@ public int getPlayerScoreTryWithResources(String playerFile) { logger.warning("File not found, resetting score."); return 0; } -} - + } + public int getPlayerScoreMultipleCatchBlocks(String playerFile) { try (Scanner contents = new Scanner(new File(playerFile))) { return Integer.parseInt(contents.nextLine()); @@ -89,15 +87,14 @@ public int getPlayerScoreMultipleCatchBlocks(String playerFile) { logger.warning("Player file was corrupted!"); return 0; } -} - - + } + public int getPlayerScoreMultipleCatchBlocksAlternative(String playerFile) { try (Scanner contents = new Scanner(new File(playerFile)) ) { return Integer.parseInt(contents.nextLine()); } catch (FileNotFoundException e) { - logger.warning("Player file not found!"); - return 0; + logger.warning("Player file not found!"); + return 0; } catch (IOException e) { logger.warning("Player file wouldn't load!"); return 0; @@ -105,8 +102,8 @@ public int getPlayerScoreMultipleCatchBlocksAlternative(String playerFile) { logger.warning("Player file was corrupted!"); return 0; } -} - + } + public int getPlayerScoreUnionCatchBlocks(String playerFile) { try (Scanner contents = new Scanner(new File(playerFile))) { return Integer.parseInt(contents.nextLine()); @@ -114,58 +111,58 @@ public int getPlayerScoreUnionCatchBlocks(String playerFile) { logger.warning("Failed to load score!"); return 0; } -} - + } + public List loadAllPlayersThrowingChecked(String playersFile) throws TimeoutException { boolean tooLong = true; - + while (!tooLong) { - // ... potentially long operation + // ... potentially long operation } throw new TimeoutException("This operation took too long"); -} - + } + public List loadAllPlayersThrowingUnchecked(String playersFile) throws TimeoutException { if(!isFilenameValid(playersFile)) { throw new IllegalArgumentException("Filename isn't valid!"); } return null; - - // ... -} - + + // ... + } + public List loadAllPlayersWrapping(String playersFile) throws IOException { try { throw new IOException(); } catch (IOException io) { throw io; } -} - + } + public List loadAllPlayersRethrowing(String playersFile) throws PlayerLoadException { try { throw new IOException(); } catch (IOException io) { throw new PlayerLoadException(io); } -} - + } + public List loadAllPlayersThrowable(String playersFile) { try { throw new NullPointerException(); } catch ( Throwable t ) { throw t; } -} - - class FewerExceptions extends Exceptions { + } + + class FewerExceptions extends Exceptions { @Override public List loadAllPlayers(String playersFile) { //can't add "throws MyCheckedException return null; // overridden + } } -} - + public void throwAsGotoAntiPattern() { try { // bunch of code @@ -173,16 +170,16 @@ public void throwAsGotoAntiPattern() { // second bunch of code } catch ( MyException e ) { // third bunch of code - } -} - + } + } + public int getPlayerScoreSwallowingExceptionAntiPattern(String playerFile) { try { // ... } catch (Exception e) {} // <== catch and swallow return 0; -} - + } + public int getPlayerScoreSwallowingExceptionAntiPatternAlternative(String playerFile) { try { // ... @@ -190,29 +187,26 @@ public int getPlayerScoreSwallowingExceptionAntiPatternAlternative(String player e.printStackTrace(); } return 0; -} - - + } + public int getPlayerScoreSwallowingExceptionAntiPatternAlternative2(String playerFile) throws PlayerScoreException { try { throw new IOException(); } catch (IOException e) { throw new PlayerScoreException(e); + } } -} - - + public int getPlayerScoreReturnInFinallyAntiPattern(String playerFile) { int score = 0; try { throw new IOException(); } finally { return score; // <== the IOException is dropped + } } -} - - public boolean isFilenameValid(String name) { + private boolean isFilenameValid(String name) { return false; - } + } } diff --git a/core-java/src/main/java/com/baeldung/exceptionhandling/MyException.java b/core-java/src/main/java/com/baeldung/exceptionhandling/MyException.java new file mode 100644 index 000000000000..5a50acc4deb5 --- /dev/null +++ b/core-java/src/main/java/com/baeldung/exceptionhandling/MyException.java @@ -0,0 +1,5 @@ +package com.baeldung.exceptionhandling; + +public class MyException extends Throwable { + +} diff --git a/core-java/src/main/java/com/baeldung/exceptionhandling/Player.java b/core-java/src/main/java/com/baeldung/exceptionhandling/Player.java new file mode 100644 index 000000000000..4efd37134f8e --- /dev/null +++ b/core-java/src/main/java/com/baeldung/exceptionhandling/Player.java @@ -0,0 +1,12 @@ +package com.baeldung.exceptionhandling; + +public class Player { + + public int id; + public String name; + + public Player(String name) { + this.name = name; + } + +} diff --git a/core-java/src/main/java/com/baeldung/ExceptionHandling/PlayerLoadException.java b/core-java/src/main/java/com/baeldung/exceptionhandling/PlayerLoadException.java similarity index 52% rename from core-java/src/main/java/com/baeldung/ExceptionHandling/PlayerLoadException.java rename to core-java/src/main/java/com/baeldung/exceptionhandling/PlayerLoadException.java index 37106330fc79..5302fd8e7d08 100644 --- a/core-java/src/main/java/com/baeldung/ExceptionHandling/PlayerLoadException.java +++ b/core-java/src/main/java/com/baeldung/exceptionhandling/PlayerLoadException.java @@ -1,8 +1,10 @@ +package com.baeldung.exceptionhandling; + import java.io.IOException; public class PlayerLoadException extends Exception { - public PlayerLoadException(IOException io) { + public PlayerLoadException(IOException io) { super(io); } diff --git a/core-java/src/main/java/com/baeldung/exceptionhandling/PlayerScoreException.java b/core-java/src/main/java/com/baeldung/exceptionhandling/PlayerScoreException.java new file mode 100644 index 000000000000..d11159217ec3 --- /dev/null +++ b/core-java/src/main/java/com/baeldung/exceptionhandling/PlayerScoreException.java @@ -0,0 +1,8 @@ +package com.baeldung.exceptionhandling; + +public class PlayerScoreException extends Exception { + + public PlayerScoreException(Exception e) { + super(e); + } +} diff --git a/core-java/src/main/java/com/baeldung/ExceptionHandling/TimeoutException.java b/core-java/src/main/java/com/baeldung/exceptionhandling/TimeoutException.java similarity index 70% rename from core-java/src/main/java/com/baeldung/ExceptionHandling/TimeoutException.java rename to core-java/src/main/java/com/baeldung/exceptionhandling/TimeoutException.java index a709ba3c6992..294ad542d3cd 100644 --- a/core-java/src/main/java/com/baeldung/ExceptionHandling/TimeoutException.java +++ b/core-java/src/main/java/com/baeldung/exceptionhandling/TimeoutException.java @@ -1,5 +1,8 @@ +package com.baeldung.exceptionhandling; + public class TimeoutException extends Exception { + public TimeoutException(String message) { super(message); } -} \ No newline at end of file +} diff --git a/core-java/src/test/java/com/baeldung/ExceptionHandling/ExceptionsTest.java b/core-java/src/test/java/com/baeldung/ExceptionHandling/ExceptionsTest.java deleted file mode 100644 index bb45d249da8f..000000000000 --- a/core-java/src/test/java/com/baeldung/ExceptionHandling/ExceptionsTest.java +++ /dev/null @@ -1,76 +0,0 @@ - -import static org.junit.jupiter.api.Assertions.assertThrows; - -import java.io.FileNotFoundException; -import java.io.IOException; -import java.nio.file.NoSuchFileException; - -import org.junit.Rule; -import org.junit.jupiter.api.Test; -import org.junit.rules.ExpectedException; - -class ExceptionsTest { - - Exceptions exceptions = new Exceptions(); - - - @Test - public void getPlayers() { - assertThrows(NoSuchFileException.class, () -> exceptions.getPlayers()); - } - - @Test - public void loadAllPlayers() { - assertThrows(IOException.class, () -> exceptions.loadAllPlayers("")); - } - - @Test - public void getPlayerScoreThrows() { - assertThrows(FileNotFoundException.class, () -> exceptions.getPlayerScoreThrows("")); - } - - @Test - public void getPlayerScoreTryCatch() { - assertThrows(IllegalArgumentException.class, () -> exceptions.getPlayerScoreTryCatch("")); - } - - @Test - public void getPlayerScoreFinally() { - assertThrows(FileNotFoundException.class, () -> exceptions.getPlayerScoreFinally("")); - } - - @Test - public void loadAllPlayersThrowingChecked() { - assertThrows(TimeoutException.class, () -> exceptions.loadAllPlayersThrowingChecked("")); - } - - @Test - public void loadAllPlayersThrowingUnchecked() { - assertThrows(IllegalArgumentException.class, () -> exceptions.loadAllPlayersThrowingUnchecked("")); - } - - @Test - public void loadAllPlayersWrapping() { - assertThrows(IOException.class, () -> exceptions.loadAllPlayersWrapping("")); - } - - @Test - public void loadAllPlayersRethrowing() { - assertThrows(PlayerLoadException.class, () -> exceptions.loadAllPlayersRethrowing("")); - } - - @Test - public void loadAllPlayersThrowable() { - assertThrows(NullPointerException.class, () -> exceptions.loadAllPlayersThrowable("")); - } - - @Test - public void throwAsGotoAntiPattern() { - assertThrows(MyException.class, () -> exceptions.throwAsGotoAntiPattern()); - } - - @Test - public void getPlayerScoreSwallowingExceptionAntiPatternAlternative2() { - assertThrows(PlayerScoreException.class, () -> exceptions.getPlayerScoreSwallowingExceptionAntiPatternAlternative2("")); - } -} diff --git a/core-java/src/test/java/com/baeldung/ExceptionHandling/ExceptionsUnitTest.java b/core-java/src/test/java/com/baeldung/ExceptionHandling/ExceptionsUnitTest.java deleted file mode 100644 index bb45d249da8f..000000000000 --- a/core-java/src/test/java/com/baeldung/ExceptionHandling/ExceptionsUnitTest.java +++ /dev/null @@ -1,76 +0,0 @@ - -import static org.junit.jupiter.api.Assertions.assertThrows; - -import java.io.FileNotFoundException; -import java.io.IOException; -import java.nio.file.NoSuchFileException; - -import org.junit.Rule; -import org.junit.jupiter.api.Test; -import org.junit.rules.ExpectedException; - -class ExceptionsTest { - - Exceptions exceptions = new Exceptions(); - - - @Test - public void getPlayers() { - assertThrows(NoSuchFileException.class, () -> exceptions.getPlayers()); - } - - @Test - public void loadAllPlayers() { - assertThrows(IOException.class, () -> exceptions.loadAllPlayers("")); - } - - @Test - public void getPlayerScoreThrows() { - assertThrows(FileNotFoundException.class, () -> exceptions.getPlayerScoreThrows("")); - } - - @Test - public void getPlayerScoreTryCatch() { - assertThrows(IllegalArgumentException.class, () -> exceptions.getPlayerScoreTryCatch("")); - } - - @Test - public void getPlayerScoreFinally() { - assertThrows(FileNotFoundException.class, () -> exceptions.getPlayerScoreFinally("")); - } - - @Test - public void loadAllPlayersThrowingChecked() { - assertThrows(TimeoutException.class, () -> exceptions.loadAllPlayersThrowingChecked("")); - } - - @Test - public void loadAllPlayersThrowingUnchecked() { - assertThrows(IllegalArgumentException.class, () -> exceptions.loadAllPlayersThrowingUnchecked("")); - } - - @Test - public void loadAllPlayersWrapping() { - assertThrows(IOException.class, () -> exceptions.loadAllPlayersWrapping("")); - } - - @Test - public void loadAllPlayersRethrowing() { - assertThrows(PlayerLoadException.class, () -> exceptions.loadAllPlayersRethrowing("")); - } - - @Test - public void loadAllPlayersThrowable() { - assertThrows(NullPointerException.class, () -> exceptions.loadAllPlayersThrowable("")); - } - - @Test - public void throwAsGotoAntiPattern() { - assertThrows(MyException.class, () -> exceptions.throwAsGotoAntiPattern()); - } - - @Test - public void getPlayerScoreSwallowingExceptionAntiPatternAlternative2() { - assertThrows(PlayerScoreException.class, () -> exceptions.getPlayerScoreSwallowingExceptionAntiPatternAlternative2("")); - } -} diff --git a/core-java/src/test/java/com/baeldung/exceptionhandling/ExceptionsUnitTest.java b/core-java/src/test/java/com/baeldung/exceptionhandling/ExceptionsUnitTest.java new file mode 100644 index 000000000000..1e86132116f0 --- /dev/null +++ b/core-java/src/test/java/com/baeldung/exceptionhandling/ExceptionsUnitTest.java @@ -0,0 +1,86 @@ +package com.baeldung.exceptionhandling; + +import org.junit.Test; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.nio.file.NoSuchFileException; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +public class ExceptionsUnitTest { + + Exceptions exceptions = new Exceptions(); + + @Test + public void getPlayers() { + assertThatThrownBy(() -> exceptions.getPlayers()) + .isInstanceOf(NoSuchFileException.class); + } + + @Test + public void loadAllPlayers() { + assertThatThrownBy(() -> exceptions.loadAllPlayers("")) + .isInstanceOf(IOException.class); + } + + @Test + public void getPlayerScoreThrows() { + assertThatThrownBy(() -> exceptions.getPlayerScoreThrows("")) + .isInstanceOf(FileNotFoundException.class); + } + + @Test + public void getPlayerScoreTryCatch() { + assertThatThrownBy(() -> exceptions.getPlayerScoreTryCatch("")) + .isInstanceOf(IllegalArgumentException.class); + } + + @Test + public void getPlayerScoreFinally() { + assertThatThrownBy(() -> exceptions.getPlayerScoreFinally("")) + .isInstanceOf(FileNotFoundException.class); + } + + @Test + public void loadAllPlayersThrowingChecked() { + assertThatThrownBy(() -> exceptions.loadAllPlayersThrowingChecked("")) + .isInstanceOf(TimeoutException.class); + } + + @Test + public void loadAllPlayersThrowingUnchecked() { + assertThatThrownBy(() -> exceptions.loadAllPlayersThrowingUnchecked("")) + .isInstanceOf(IllegalArgumentException.class); + } + + @Test + public void loadAllPlayersWrapping() { + assertThatThrownBy(() -> exceptions.loadAllPlayersWrapping("")) + .isInstanceOf(IOException.class); + } + + @Test + public void loadAllPlayersRethrowing() { + assertThatThrownBy(() -> exceptions.loadAllPlayersRethrowing("")) + .isInstanceOf(PlayerLoadException.class); + } + + @Test + public void loadAllPlayersThrowable() { + assertThatThrownBy(() -> exceptions.loadAllPlayersThrowable("")) + .isInstanceOf(NullPointerException.class); + } + + @Test + public void throwAsGotoAntiPattern() { + assertThatThrownBy(() -> exceptions.throwAsGotoAntiPattern()) + .isInstanceOf(MyException.class); + } + + @Test + public void getPlayerScoreSwallowingExceptionAntiPatternAlternative2() { + assertThatThrownBy(() -> exceptions.getPlayerScoreSwallowingExceptionAntiPatternAlternative2("")) + .isInstanceOf(PlayerScoreException.class); + } +}