Re(15): SQL Server Synchronisation
Geizhals » Forum » Programmierung » SQL Server Synchronisation (47 Beiträge, 303 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
.  Re: SQL Server Synchronisation  (Pervasive am 06.03.2007, 18:13:20)
..  Re(2): SQL Server Synchronisation  (MidiFan am 06.03.2007, 18:14:56)
...  Re(3): SQL Server Synchronisation  (Pervasive am 06.03.2007, 18:15:19)
.  Re: SQL Server Synchronisation  (Ardjan am 06.03.2007, 21:19:31)
..  Re(2): SQL Server Synchronisation  (Pervasive am 06.03.2007, 21:21:40)
...  Re(3): SQL Server Synchronisation  (MidiFan am 06.03.2007, 21:26:29)
....  Re(4): SQL Server Synchronisation  (Pervasive am 06.03.2007, 21:27:36)
...  Re(3): SQL Server Synchronisation  (Ardjan am 06.03.2007, 21:32:16)
....  Re(4): SQL Server Synchronisation  (Pervasive am 06.03.2007, 21:33:16)
.....  Re(5): SQL Server Synchronisation  (Ardjan am 06.03.2007, 21:39:03)
......  Re(6): SQL Server Synchronisation  (Pervasive am 06.03.2007, 21:44:20)
.......  Re(7): SQL Server Synchronisation  (Ardjan am 06.03.2007, 21:46:12)
........  Re(8): SQL Server Synchronisation  (Pervasive am 06.03.2007, 21:47:52)
.........  Re(9): SQL Server Synchronisation  (Ardjan am 07.03.2007, 10:08:45)
..........  Re(10): SQL Server Synchronisation  (googleDork am 07.03.2007, 11:05:56)
...........  Re(11): SQL Server Synchronisation  (Ardjan am 07.03.2007, 11:20:23)
......  Re(6): SQL Server Synchronisation  (Somnatic am 06.03.2007, 22:01:02)
.......  Re(7): SQL Server Synchronisation  (Ardjan am 06.03.2007, 22:31:36)
........  Re(8): SQL Server Synchronisation  (Somnatic am 06.03.2007, 22:36:45)
.......  Re(7): SQL Server Synchronisation  (Cereal_Poster am 07.03.2007, 10:37:10)
........  Re(8): SQL Server Synchronisation  (Somnatic am 07.03.2007, 11:16:29)
.........  Re(9): SQL Server Synchronisation  (Cereal_Poster am 07.03.2007, 11:26:31)
..........  Re(10): SQL Server Synchronisation  (Somnatic am 07.03.2007, 11:28:27)
...........  Re(11): SQL Server Synchronisation  (Cereal_Poster am 07.03.2007, 11:34:00)
............  Re(12): SQL Server Synchronisation  (Somnatic am 07.03.2007, 11:43:53)
.............  Re(13): SQL Server Synchronisation  (googleDork am 07.03.2007, 14:02:09)
..............  Re(14): SQL Server Synchronisation  (Cereal_Poster am 07.03.2007, 14:09:18)
...............  Re(15): SQL Server Synchronisation  (googleDork am 07.03.2007, 14:34:46)
...............  Re(15): SQL Server Synchronisation  (Somnatic am 07.03.2007, 15:48:28)
..............  Re(14): SQL Server Synchronisation  (Somnatic am 07.03.2007, 15:48:00)
...............
Re(15): SQL Server Synchronisation
07.03.2007, 17:24:12

Schönes Beispiel

Das war zwar mal schnell aus den Fingern gesogen - aber ähnliche findest echt oft in der Praxis... Und eben auch in Lehrbüchern, was schon giftig ist...


*pfeif* .... Spass beiseite. Manchmal muss man es machen, weil es anders keinen Sinn ergibt und semantisch einfach nicht korrekt wäre (ich kann nicht einfach null zurückliefern, wenn man eigentlich ein Objekt mit bestimmten Eigenschaften erwartet, genausowenig Sinn macht es ein leeres Objekt zurückzuliefern.)

Klar kann Exception-Werfen Sinn machen... Und ich behaupte ja auch nicht, daß ein Programmierer immer faul war, wenn er ein throws.. schreibt. Ich behaupte aber doch, daß öfters mal einer faul war :-).

Wobei "Ich kann nicht null zurückliefern"... Was spricht dagegen ?
Fast alle C-Funktionen liefern NULL oder -1 im Fehlerfall... Das ist ein "gut eingelebtes" Konzept....

Für den Aufrufer wäre es sogar gleich...
Bei Dir (throws...) müßte er schreiben

try { MeinObjekt meinObjekt = MeineObjektFactory.holEins(); meinObjekt.machwas(); } catch (....)


Denselben try/catch-Block hättest auch, wenn "holEins()" statt eine Exception zu thrown einfach null zurückliefert... Denn ab "machWas()" fliegt die Exception und Du bist genauso im catch().

Wenn aber null zurückgeliefert wird, kannst auch "if (...holEins() != null) {...}" durchführen... :-)

Exceptions werfen kann aber durchaus dann Sinn machen, wenn es beispielsweise 3 Gründe geben kann, warum eine Funktion nicht so tut wie der Aufrufer wohl wollte - und du ihm das mitteilen willst (zB durch eigene Exceptionklassen). Dann wird's schon gerne mal sehr brauchbar... Und das deckt sich so mit meiner These "Exceptions sind super für Ausnahmesituationen".... Beispielsweise einr "throw new AusserhalbDerDienstzeitNichtErlaubtException();"...  - wenn dein "Ich kann nicht einfach NULL zurückliefern" so gemeint war - sind wir nahe beieinander.

Andererseits war ich aber auch mal bei einem Projekterl, wo /wirklich viele/ eigene Exceptionklassen definiert wurden... Mit dem logischen Erfolg, daß kein Aufrufer sich je antat, nach der Art der Exception zu unterscheiden und wohl 90% des Handlings a la "try { machWas(); } catch (Exception ex) { SagUser(ex.messageText); }" aussahen :-)

Antworten PM Alle Chronologisch Zum Vorgänger
 
Melden nicht möglich
......  Re(6): SQL Server Synchronisation  (googleDork am 07.03.2007, 11:00:18)
.......  Re(7): SQL Server Synchronisation  (Ardjan am 07.03.2007, 11:04:26)
.......  Re(7): SQL Server Synchronisation  (Cereal_Poster am 07.03.2007, 11:27:51)
........  Re(8): SQL Server Synchronisation  (googleDork am 07.03.2007, 11:32:50)
.........  Re(9): SQL Server Synchronisation  (Cereal_Poster am 07.03.2007, 11:35:35)
..........  Re(10): SQL Server Synchronisation  (googleDork am 07.03.2007, 14:04:11)
.......  Re(7): SQL Server Synchronisation  (Ardjan am 07.03.2007, 14:54:33)
........  Re(8): SQL Server Synchronisation  (googleDork am 07.03.2007, 15:00:41)
.........  Re(9): SQL Server Synchronisation  (Ardjan am 07.03.2007, 16:01:39)
.....  Re(5): SQL Server Synchronisation  (MidiFan am 06.03.2007, 21:51:04)
......  Re(6): SQL Server Synchronisation  (Pervasive am 06.03.2007, 21:54:19)
.  Re: SQL Server Synchronisation  (googleDork am 07.03.2007, 11:11:36)
..  Re(2): SQL Server Synchronisation  (MidiFan am 07.03.2007, 12:48:21)
...  Re(3): SQL Server Synchronisation  (googleDork am 07.03.2007, 14:54:20)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung