Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Mach doch deinen Konstruktor privat - somit kann ihn keiner direkt aufrufen. Dann noch eine statische methode z.B.
Code:
public static MeineKlasse createInstance()
der du alle Parameter mitgibst ... die methode prüft die Parameter ... wenn alles ok ist erzeugst du das Objekt (darfst du ja, da du ja in der selben Klasse bist) und gibst das Objekt zurück. wenn es Probleme gibt, gibst du null zurück. Nun muss der Aufrufer nur noch den Rückgabewert richtig auswerten.
Fertig.
hab ich mal gelesen das man ein programm nicht mit exceptions steuern darf. anscheinend ist dies eine, wie nennt man das schon wieder, nicht ofizelle regel :?
entweder versuchts du das auserhalb zu erledigen oder machst es wie schon erwähnt über den singleton. kannst natürlich auch das objekt erzeugen und dann eine methode aufrufen, die dir diese prüfung durchführt
@Beni: äh.. und was ist wenn Hendrik jetzt wirklich ein Rechteck in seiner Klasse zeichnen will ? wir wissen ja nicht was hendrik vorhat .
und wenn man einer klasse halt nur positive zahlen übergeben darf, dann ist eine IllegalArgumentException auch dazu da, und da gibt's keine differenzierung zwischen "groben" und "nicht groben" fehlern ....
hab über Suchen schon einiges gelesen, aber ich konnte das auf mein Beispiel noch nicht Anwenden.
Ich müsste auf ein ArrayList einer anderen Klasse zugreifen, bzw. es über return zurückbekommen.
Nur ich bekomme dann immer Fehlermeldungen, wie ich mit meinem beschränkten halbwissen meine, das es richtig sein müsste.
ArrayList canvas = new ArrayList();
Senden senden = new Senden( c, posit );
// canvas = new Senden(c, posit);
PrintStream outToServer = new PrintStream(s.getOutputStream());
outToServer.println("1");
BufferedReader in = new BufferedReader
(new InputStreamReader(s.getInputStream()));
ArrayList groesse = new ArrayList();
while ((line = in.readLine()) != null ){
ausgabetext = line;
groesse.add(ausgabetext);
}
Mit canvas dachte ich mir, könnte ich evtl. über ein return der arrayliste diese auffangen, aber angeschmiert.
über klassenname.groesse kann ich halt auch nicht auf die arrayliste zugreifen.
Hoffe ich konnte mein Problem hier etwa veranschaulichen.
Falls etwas unklar sein sollte, weswegen ihr mir nicht helfen könnt, einfach Fragen stellen.
Allerdings (und ich denke da nicht nur an die Bemerkung von Roar)
1. Was ist "Senden"? Von was erbt es, was soll es? 2. Schon bemerkt, dass man in diesem Forum Code mit [ code ] und [ /code ] umklammern kann? (Das Syntaxhighlighting macht viele Menschen hilfsbereiter :wink: ) 3.Was für eine Fehlermeldung bekommst Du? Von wem? Wann? 4. Wenn Du Code postest, dann bitte so, dass man die grösseren Zusammenhänge erkennen kann :wink: (ich weiss, das ist nicht so einfach. Im Zweifellsfalle einfach mal zuviel posten, die Leute werden schon reklamieren wenn's zuviel ist). Ich weiss nämlich absolut nicht, wie deine beiden Schnippsel zusammenpassen (ja, ok, ich hab eine Vermutung, aber die könnte falsch sein. Und bevor ich den Aufwand mache eine Riesenlösung zu posten, will ich sicher sein, dass sie überhaupt gesucht wird)