X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Fstates%2FStateManager.java;h=a52e74d4bcc63a3d84dd6283e3940f8b4ef4f640;hb=4fea375ff20fbbbaaad6feba574d4b6c6380ed93;hp=35125bb8b5a0d91ac731ed177c65ce310fbe6647;hpb=1f272e712b8a1142dd6cf6db3cc43bb0bc63b9bc;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/rhynodge/states/StateManager.java b/src/main/java/net/pterodactylus/rhynodge/states/StateManager.java index 35125bb..a52e74d 100644 --- a/src/main/java/net/pterodactylus/rhynodge/states/StateManager.java +++ b/src/main/java/net/pterodactylus/rhynodge/states/StateManager.java @@ -96,8 +96,9 @@ public class StateManager { * The state to save */ public void saveState(String reactionName, State state) { + File stateFile = null; try { - File stateFile = stateFile(reactionName, "last"); + stateFile = stateFile(reactionName, "last"); objectMapper.writeValue(stateFile, state); if (state.success()) { stateFile = stateFile(reactionName, "success"); @@ -105,10 +106,13 @@ public class StateManager { } } catch (JsonGenerationException jge1) { logger.warn(String.format("State for Reaction “%s” could not be generated.", reactionName), jge1); + stateFile.delete(); } catch (JsonMappingException jme1) { logger.warn(String.format("State for Reaction “%s” could not be generated.", reactionName), jme1); + stateFile.delete(); } catch (IOException ioe1) { logger.warn(String.format("State for Reaction “%s” could not be written.", reactionName)); + stateFile.delete(); } }