Exceptions im statischem Klassencode

Status
Nicht offen für weitere Antworten.

Tobias

Top Contributor
High,
ich bau mir eine Klasse, die auf speziell formatierte Configuration-Daten mittels statischen Methoden zugreift. Wenn jetzt innerhalb dieser Klasse eine Exception ausgelöst wird, bin ich gezwungen diese direkt zu behandeln, da statischer Code Exception nicht schmeißen dürfen. Genau das will ich aber nicht machen - um die Exception soll sich schön der Aufrufer kümmern (zumindest in den Fällen, die ich nicht innerhalb der Klasse fixen kann).

Also habe ich folgenden Code gebaut:

Code:
private static lastExcep;

static {
    try {
        FileInputStream in = new FileInputStream("conf.file");
    } catch (IOException ioEx) {
        lastExcep = ioEx;
    }
}

Sieht für mich ein bißchen scheiße aus - schließlich nutze ich den Exception-Handling-Mechanismus höchstens suboptimal aus. Mir fällt aber nichts Besseres ein - euch vielleicht?

mpG
Tobias[/code]
 

Tobias

Top Contributor
Das Schreiben in eine LogDatei fällt für mich schon unter effektives Behandeln ;)... Ich rede von Exceptions, die die Konsitenz meiner Klasse (bzw der durch sie repräsentierten Daten) gefährden - IOExceptions, falschen Formatierungen etc.
Also Exceptions, die in diesem doch recht integralen Bestandteil des Programms fatale Folgen für alle abhängigen Programmteile haben könnten...

mpG
Tobias
 

Tobias

Top Contributor
Rein theoretisch könnte ich nur die Daten statisch halten (die dürfen nur einmal vorkommen, damit keine konkurrierenden Veränderungen vorgenommen werden), für die oft marginalen Veränderungen will ich aber nicht jedesmal ein Objekt instanziieren...
 
B

bygones

Gast
Tobias hat gesagt.:
Rein theoretisch könnte ich nur die Daten statisch halten (die dürfen nur einmal vorkommen, damit keine konkurrierenden Veränderungen vorgenommen werden), für die oft marginalen Veränderungen will ich aber nicht jedesmal ein Objekt instanziieren...

wenn du verhindern willst, dass immer wieder Objekte instanziert werden, kannst du auch mit Singeltons arbeiten (so habe ich immer meine Config - Strukturen).

D.h. die Klasse hat eine statische Instanz von sich, einen privaten Konstruktor und nur eine statische Instanzierungsmöglichkeit:

Code:
public class Config {
   private static Config config = null;

   private Conifg() {
      ......
   }

   ......

   public static Conig getConfiguration() {
      if(config == null) {
        config = new Config();
      }
     return config;
  }
}

Dadurch wird gewährleistet, dass zu jeder Zeit des Programms nur eine instanz der Klasse vorhanden ist....

Weiß net obs dir hilft !
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
M Exceptions - wann / wie verwenden? Allgemeine Java-Themen 4
W Exceptions behandeln Allgemeine Java-Themen 16
Kirby.exe Exceptions erklärt Allgemeine Java-Themen 5
L Operatoren Java Reflections: Alle Methoden einer Klasse aufrufen ohne Exceptions Allgemeine Java-Themen 5
E Java Editor Problem mit 2er Exceptions Allgemeine Java-Themen 12
B Maven Keycloak library wirft exceptions nach maven package Allgemeine Java-Themen 1
J Exceptions Allgemeine Java-Themen 1
Z Java Exceptions - Auf leeres Feld prüfen Allgemeine Java-Themen 10
E Exceptions abfangen und dann Programm stoppen - aber wie? Allgemeine Java-Themen 2
L Nullpointer Exceptions werden nicht angezeigt Allgemeine Java-Themen 5
V Exceptions Allgemeine Java-Themen 2
G Exceptions mit jre 7u40 Allgemeine Java-Themen 2
S Best Practice verschiedene Exceptions fangen und neue Exception erzeugen Allgemeine Java-Themen 11
E LookAndFeel Exceptions bei UIManager.setLookAndFeel Allgemeine Java-Themen 4
W JavaDoc Runtime-Exceptions: Wie sinnvoll anzeigen? Allgemeine Java-Themen 14
C Threads und Exceptions Allgemeine Java-Themen 7
B Webstart Exceptions Allgemeine Java-Themen 7
R Threads Exceptions von Threads abfangen im ThreadPool Allgemeine Java-Themen 5
S Runtime Exceptions in eine Datei schreiben Allgemeine Java-Themen 7
G Internationalisierung von Exceptions Allgemeine Java-Themen 5
J JUnit - werfen von Exceptions testen Allgemeine Java-Themen 17
F Alle Exceptions abfangen Allgemeine Java-Themen 4
B Alle Exceptions auf einmal abfangen Allgemeine Java-Themen 4
G log4j - Behandlung nicht explizit abgefangener Exceptions Allgemeine Java-Themen 5
B Logging von Exceptions Allgemeine Java-Themen 7
G Designfrage: Exceptions in Konstruktoren Allgemeine Java-Themen 7
I Exceptions - weder catch- noch finally-Klausel funktioniert Allgemeine Java-Themen 12
M Verwendung von unchecked exceptions & bereits vorhandenen exceptions was priorisieren Allgemeine Java-Themen 3
hdi Verhalten bei nicht behandelten Exceptions Allgemeine Java-Themen 2
H Exceptions und IO Allgemeine Java-Themen 17
B Exceptions? Allgemeine Java-Themen 4
D Throws Exceptions Allgemeine Java-Themen 14
M Verständnisfrage Exceptions Allgemeine Java-Themen 2
V Exceptions als Fehlerbehandlung "missbrauchen"? Allgemeine Java-Themen 10
DEvent Wie behandelt man Exceptions in Iterator? Allgemeine Java-Themen 2
J Verständnisfrage zu exceptions Allgemeine Java-Themen 3
A Junit Exceptions testen Allgemeine Java-Themen 3
R Loading-Thread und Exceptions abfangen. Allgemeine Java-Themen 4
P Exceptions dokumentieren. Allgemeine Java-Themen 6
G Exceptions weiterwerfen Allgemeine Java-Themen 2
T Generics und Exceptions Allgemeine Java-Themen 6
P Exceptions throw Allgemeine Java-Themen 6
F Wann und wie Exceptions einsetzen? Allgemeine Java-Themen 13
J Method.invoke -> Exceptions der Funktion abfangen Allgemeine Java-Themen 5
T Frage zu Exceptions Allgemeine Java-Themen 3
G Java-Exceptions werden nicht ganz angezeigt. Wo ändern? Allgemeine Java-Themen 3
J Probleme mit Exceptions Allgemeine Java-Themen 11
R Exceptions mit aktuellen Programminformationen ausgeben? Allgemeine Java-Themen 2
märliprinz com.sap.dbtech.jdbc.exceptions.JDBCDriverException Allgemeine Java-Themen 2
G Alle Exceptions loggen Allgemeine Java-Themen 4
G Frage zu Exceptions Allgemeine Java-Themen 6
M err oder alle Exceptions eines Programms abfangen Allgemeine Java-Themen 4
G Exceptions ohne Zeilennummer (Unknown Source) Allgemeine Java-Themen 8

Ähnliche Java Themen


Oben