9. Februar 2005 13:51

Re: Dass in C# Exceptions nicht zur Methoden-Signatur gehören...

brischt schrieb am 9. Februar 2005 13:18

>
> Das interessiert mich jetzt -  >
> Wo genau liegt denn der Vorteil von Exceptions in Signaturen?

Wenn eine Methode in Java angibt eine Exception zu werfen (throws
keyword), dann muss beim Aufruf dieser Methode die Exception
behandelt werden (oder die aufrufenden Methode wiederum mit throws
declariert werden).

Damit kann man neben den Parametern einer Methode auch die optionalen
Ausführungspfade sehen (was m.E. sogar wichtiger ist).

> was haben Multithreading-Anwendungen mit Exceptions in Signaturen zu tun?

Insbesondere wenn es um das Synchronisieren von Resourcen geht ist
das ein wichtiges Feature bei Multithreading Anwendungen.

> Warum ist C++ für Multithreading ungeeignet?

C++ hat keinerlei Synchronisierungsmechanismen in die Sprache (oder
in einer Standardlibrary) integriert (Java Keyword synchronized).

In C++ sind die Ausführungspfade ein absoluter Alptraum (nicht nur,
dass in C++ jede Methode undeklariert Exceptions werfen kann, das
ganze wird noch durch Operator overloading und anderes potenziert).


ZX