Alexander Foken: Wieso kommt hier ein Fehler?

Beitrag lesen

Moin Moin !

Aber wie soll ich das denn sonst machen??
Ich mein, mit if geht das ganze ja auch nicht so einfach oder??

kann ich das so schreiben:

Nein. Vielleicht solltest Du erstmal ein wenig in der PHP-Doku lesen. Und du solltest vielleicht etwas mehr nachdenken, bevor Du ans Code schreiben gehst.

Ein bewährtes Schema:

function dosomething(...) # returns error message or empty string if ok
{
  prepare step 1;
  code=execute step 1;
  if (code != ok) return "step 1 failed";
  prepare step 2;
  code=execute step 2;
  if (code != ok) return "step 2 failed";
  finish;
  return "";
}

error=dosomething(...);
if (retval!="") {
  print "panic: "+error;
} else {
  print "ok";
}

DAS IST KEIN PHP! (Das ist nichtmal JS, perl oder C.)

Und Java-Programmierer rotieren, weil sie das Ganze sinngemäß so schreiben (müssen):

try {
  prepare step 1;
  code=execute step 1;
  if (code != ok) throw new Exception("step 1 failed");
  prepare step 2;
  code=execute step 2;
  if (code != ok) throw new Exception("step 2 failed");
  finish;
  print "ok";
} catch (Exception e)  {
  print "panic: "+e.toString();
}

Oder à la Basic / Batch:

10  prepare step 1;
 20  code=execute step 1;
 30  if (code == ok) goto 40
 31  let error="step 1 failed";
 32  goto 100
 40  prepare step 2;
 50  code=execute step 2;
 60  if (code == ok) goto 70
 61  let error="step 2 failed";
 62  goto 100
 70  finish;
 80  print "ok";
 90  end
100  print "panic: "+e.toString();

Siehst Du das Schema?

Alexander

--
Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".