diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java b/src/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java index f5024782c..17d6f3eb2 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java @@ -382,9 +382,9 @@ public class Dungeon { observe(); try { saveAll(); - } catch (Exception e) { - //TODO: I need to add analytics code to this or something. - //Silent failure is really bad, don't want to interrupt the user but I do want to know if this fails. + } catch (IOException e) { + /*This only catches IO errors. Yes, this means things can do wrong, and they can go wrong catastrophically. + But when they do the user will get a nice 'report this issue' dialogue, and I can fix the bug.*/ } } @@ -527,7 +527,7 @@ public class Dungeon { Bundle.write( bundle, output ); output.close(); - } catch (Exception e) { + } catch (IOException e) { GamesInProgress.setUnknown( hero.heroClass ); } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/GamesInProgress.java b/src/com/shatteredpixel/shatteredpixeldungeon/GamesInProgress.java index c93f5c63a..f5eff1433 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/GamesInProgress.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/GamesInProgress.java @@ -17,11 +17,12 @@ */ package com.shatteredpixel.shatteredpixeldungeon; -import java.util.HashMap; - import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass; import com.watabou.utils.Bundle; +import java.io.IOException; +import java.util.HashMap; + public class GamesInProgress { private static HashMap state = new HashMap(); @@ -41,7 +42,7 @@ public class GamesInProgress { info = new Info(); Dungeon.preview( info, bundle ); - } catch (Exception e) { + } catch (IOException e) { info = null; } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/Rankings.java b/src/com/shatteredpixel/shatteredpixeldungeon/Rankings.java index 65c798bb2..899a508d3 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/Rankings.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/Rankings.java @@ -110,7 +110,7 @@ public enum Rankings { OutputStream output = Game.instance.openFileOutput( RANKINGS_FILE, Game.MODE_PRIVATE ); Bundle.write( bundle, output ); output.close(); - } catch (Exception e) { + } catch (IOException e) { } } @@ -137,7 +137,7 @@ public enum Rankings { totalNumber = records.size(); } - } catch (Exception e) { + } catch (IOException e) { } }