Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

271

12.06.2013, 18:03

C-/C++-Quelltext

1
2
3
4
if(deviceType == null)
{
    throw new InvalidOperationException("Requested device type " + deviceType + " does not exist");
}


*facepalm*

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

272

12.06.2013, 18:32

:D Unglaublich, aber sowas findet man relativ häufig irgendwo.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

273

12.06.2013, 19:13

Da motzt doch normalerweise die IDE ;)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

274

12.06.2013, 20:56

Wieso sollte sie? Das ist endet ja nicht in einer NPE.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

275

12.06.2013, 21:04

Ich denke, dass keine IDE das analysieren wird und sagen wird:
"Dieser Codeteil wird nur ausgeführt, wenn deviceType null ist, also kann ich alle Aktionen, die dann nicht mehr möglich sind rot unterstreichen"
Zumindest habe ich bisher von keiner gehört. Ich probier das mal mit VS 2010 aus und melde mich zurück.

Edit:
Da motzt nichts, es kommt nur die Exceptionmeldung und wie BlueCobold geschrieben hat, kommt da keine NPE raus. Ich sollte mich mehr mit C# beschäftigen :D

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »patrick246« (12.06.2013, 21:09)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

276

12.06.2013, 21:09

Eclipse warnt vor verschiedenen NPE/not-initialized-Verwendungen, sofern diese eindeutig sind und mit den richtigen Plugins macht das auch Visual Studio. Ansonsten sollte FindBugs in der Freundeskiste niemals fehlen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

277

12.06.2013, 21:15

Kannst du da Plugins empfehlen, die man drauf haben sollte?

Blöd wirds erst hier:

C#-Quelltext

1
2
3
Object o = null; // Test
if (o == null)
    throw new InvalidOperationException("Blablabla " + o.ToString() + " bla");

278

12.06.2013, 21:35

Also wenn man es mit toString() wie patrick246 macht, gibt es eine Warnung (Eclispe / Java): "Null pointer access: The variable o can only be null at this location". Im anderen Fall hast du recht BlueCobold. Da kann er ja einfach "null" ausgeben.

Task-Manager

Alter Hase

Beiträge: 1 087

Wohnort: am PC

Beruf: Student

  • Private Nachricht senden

279

12.06.2013, 22:02

lustig wirds, wenn man offensichtliche Fehler machen muss, da irgendwelche Java libs Buggy sind:

hier mein Netzwerk recieve Thread:

Quellcode

1
2
3
4
5
6
7
 ...
   Packet rec;
   rec = (Packet) input.readObject();
   
   if(rec!=null)
    queue.add(rec)
 ...

und hier wird die queue in der Game-loop abgearbeitet...

Quellcode

1
2
3
4
5
6
7
8
9
while(!netClient.rec.queue.isEmpty()) {
   Packet buffer = netClient.rec.queue.poll();
   if(buffer == null)
  {
     System.out.println("WRONG PACKET!");
     netClient.rec.queue.clear(); // reset that buggy list
  }
...
}


lustigerweise tritt buffer==null ab und zu ein... obwohl nie ein null packet gesendet wird und der recieve thread dies sogar selbst nochmal überprüft(s.o.)^^


EDIT: JEAH über 1000 Beiträge :D
falls ichs i-wo vergessen hab:

mfg
Task-Manager

Rechtschreibfehler sind mein Eigentum und gewollt!

280

12.06.2013, 22:26

Wenn das UDP ist können Packete durchaus mal unterwegs verloren gehen soviel ich weis. Welche Lib ist das denn ?

Werbeanzeige