Added exception handling to FormMapWithSetArtilleries

This commit is contained in:
Сергей Полевой 2022-12-05 23:00:06 +04:00
parent 36a610081e
commit 09e3dfc336

View File

@ -67,13 +67,11 @@ public class FormMapWithSetArtilleries extends JFrame {
dialog.showSaveDialog(this); dialog.showSaveDialog(this);
try { try {
if (_mapsCollection.saveData(dialog.getSelectedFile().getAbsolutePath())) { _mapsCollection.saveData(dialog.getSelectedFile().getAbsolutePath());
JOptionPane.showMessageDialog(this, "Сохранение прошло успешно", "Успех", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, "Сохранение прошло успешно", "Успех", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(this, "Не сохранилось", "Провал", JOptionPane.INFORMATION_MESSAGE); } catch (Exception ex) {
} JOptionPane.showMessageDialog(this, "Не сохранилось: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
} catch (IOException ex) {
ex.printStackTrace();
} }
}); });
fileMenu.add(saveMenuItem); fileMenu.add(saveMenuItem);
@ -85,14 +83,11 @@ public class FormMapWithSetArtilleries extends JFrame {
dialog.showOpenDialog(this); dialog.showOpenDialog(this);
try { try {
if (_mapsCollection.loadData(dialog.getSelectedFile().getAbsolutePath())) { _mapsCollection.loadData(dialog.getSelectedFile().getAbsolutePath());
reloadMaps(); reloadMaps();
JOptionPane.showMessageDialog(this, "Загрузка прошла успешно", "Успех", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, "Загрузка прошла успешно", "Успех", JOptionPane.INFORMATION_MESSAGE);
} else { } catch (Exception ex) {
JOptionPane.showMessageDialog(this, "Не загрузилось", "Провал", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, "Не загрузилось: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
}
} catch (IOException ex) {
ex.printStackTrace();
} }
}); });
fileMenu.add(loadMenuItem); fileMenu.add(loadMenuItem);
@ -104,13 +99,10 @@ public class FormMapWithSetArtilleries extends JFrame {
dialog.showSaveDialog(this); dialog.showSaveDialog(this);
try { try {
if (_mapsCollection.saveMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse(""), dialog.getSelectedFile().getAbsolutePath())) { _mapsCollection.saveMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse(""), dialog.getSelectedFile().getAbsolutePath());
JOptionPane.showMessageDialog(this, "Сохранение прошло успешно", "Успех", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, "Сохранение прошло успешно", "Успех", JOptionPane.INFORMATION_MESSAGE);
} else { } catch (Exception ex) {
JOptionPane.showMessageDialog(this, "Не сохранилось", "Провал", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, "Не сохранилось: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
}
} catch (IOException ex) {
ex.printStackTrace();
} }
}); });
fileMenu.add(saveMapMenuItem); fileMenu.add(saveMapMenuItem);
@ -122,14 +114,11 @@ public class FormMapWithSetArtilleries extends JFrame {
dialog.showOpenDialog(this); dialog.showOpenDialog(this);
try { try {
if (_mapsCollection.loadMap(dialog.getSelectedFile().getAbsolutePath())) { _mapsCollection.loadMap(dialog.getSelectedFile().getAbsolutePath());
reloadMaps(); reloadMaps();
JOptionPane.showMessageDialog(this, "Загрузка прошла успешно", "Успех", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, "Загрузка прошла успешно", "Успех", JOptionPane.INFORMATION_MESSAGE);
} else { } catch (Exception ex) {
JOptionPane.showMessageDialog(this, "Не загрузилось", "Провал", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, "Не загрузилось: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
}
} catch (IOException ex) {
ex.printStackTrace();
} }
}); });
fileMenu.add(loadMapMenuItem); fileMenu.add(loadMapMenuItem);
@ -180,17 +169,20 @@ public class FormMapWithSetArtilleries extends JFrame {
} }
if (artillery != null) { if (artillery != null) {
try {
DrawingObjectArtillery objectArtillery = new DrawingObjectArtillery(artillery); DrawingObjectArtillery objectArtillery = new DrawingObjectArtillery(artillery);
if (_mapsCollection.getMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse("")).addArtillery(objectArtillery) != -1) if (_mapsCollection.getMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse("")).addArtillery(objectArtillery) != -1) {
{
JOptionPane.showMessageDialog(this, "Объект добавлен", "Успех", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, "Объект добавлен", "Успех", JOptionPane.INFORMATION_MESSAGE);
bufferedImage = _mapsCollection.getMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse("")).showSet(); bufferedImage = _mapsCollection.getMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse("")).showSet();
repaint(); repaint();
} } else {
else
{
JOptionPane.showMessageDialog(this, "Не удалось добавить объект", "Провал", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, "Не удалось добавить объект", "Провал", JOptionPane.INFORMATION_MESSAGE);
} }
} catch (StorageOverflowException ex) {
JOptionPane.showMessageDialog(this, "Ошибка переполнения хранилища: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, "Неизвестная ошибка: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
}
} }
}); });
form.setVisible(true); form.setVisible(true);
@ -208,6 +200,7 @@ public class FormMapWithSetArtilleries extends JFrame {
int position = Integer.parseInt(text); int position = Integer.parseInt(text);
try {
IDrawingObject deleted = _mapsCollection.getMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse("")).removeArtilleryAt(position); IDrawingObject deleted = _mapsCollection.getMap(Optional.ofNullable(listBoxMaps.getSelectedValue()).orElse("")).removeArtilleryAt(position);
if (deleted != null) { if (deleted != null) {
deletedObjects.push(deleted); deletedObjects.push(deleted);
@ -217,6 +210,11 @@ public class FormMapWithSetArtilleries extends JFrame {
} else { } else {
JOptionPane.showMessageDialog(this, "Не удалось удалить объект", "Провал", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, "Не удалось удалить объект", "Провал", JOptionPane.INFORMATION_MESSAGE);
} }
} catch (ArtilleryNotFoundException ex) {
JOptionPane.showMessageDialog(this, "Не удалось найти артиллерию по позиции: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, "Неизвестная ошибка: " + ex.getMessage(), "Провал", JOptionPane.INFORMATION_MESSAGE);
}
}); });
buttonShowStorage.addActionListener(e -> { buttonShowStorage.addActionListener(e -> {