habe ein Catch problem

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
HiHO!

Habe mal ne Frage.

habe folgenden programm Ablauf:

Ausgangslage: Keine MySQL-Datenbank und kein User vorhanden

Verbindung zum Server aufbauen
connectServer()
.......
catch DbException

dann startet die connectServer
---->die gibt eine SQLException, wenn es den Benutzer nicht gibt, mit dem die Verbindung aufgebaut werden soll
Daraufhin muss man in eine Maske seine root Daten eingeben
-----> ein Benutzer wird erstellt
-----> die connetServer wird wieder aufgerufen
-----> Die Verbindung wird aufgebaut und eine Datenbank angelegt

Und jetzt das Problem:

Durch die in der connectServer erzwungene SqlException wird leider auch die DbException geworfen.

Das Problem ist nun, dass man einerseits die DbException benötigt, allerdings nicht beim ersten Start, wenn keine Datenbank und kein User in der Datenbank enthalten sind.

Hoffe das ganze hat jemand verstanden und kann mir nen Tip geben, wie ich es hinkriege, dass die DbException nicht geworfen wird, wenn in der connectServer eine SqlException geworfen wird ^^


Gruß,

ein Gast 🙂
 
Kann man diesen Spezialfall nicht einfach abfangen und gesondert behandeln?! ???:L

Ark
 
also:

die DBException ist ja richtig. die muss kommen, wenn der Server zum Beispiel down ist oder die LogInDaten aus der config.ini falsch sind. Allerdings soll die DBException nicht kommen, wenn in der connectServer die SQLException aufgetreten ist.

Denn dadurch passiert ja folgendes:

connect Server
schmeißt die SQLException und das soll ja sein wenn das prog das erste mal startet.
durch die SQLException wird jedoch auch die DBException ausgelöst.
Und nachdem die SqlException abgehandelt wurde, tritt danach dann natürlich die DBException auf den Plan.

Und die ist eben eine PopUp-Meldung mit einem OK Button, der das ganze Prog beendet.

Gruß
 
mhm kannste das problem net einfach durch nen first_start=1 parameter in der ini handeln? wenn du dann im catch block einfach nach dem wert fragst und dann ggf. einfach versuchst den user anzulegen und db ... und wenn dabei nochmal die Exception geschmissen wirds ist es ja sehr warscheinlich das der Server net will oder sonst nen anderes Prob vorliegt

Das wolltest du doch, oder hab ich was falsch verstanden?
 
Wir brauchen mehr Material. Wie wäre es mit einem Stacktrace oder ein bisschen Code.

Dann sieht man auch, welche DbException (Package) gemeint ist und warum welche Exception wie
geworfen oder gefangen wird.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben