Come From
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Veränderung (zum vorhergehenden Autor) (Änderung, Korrektur, Normalansicht)

Verändert: 1c1,74
Beschreibe hier die neue Seite.---
Nicht ganz ernstgemeinte Alternative zum GoTo? Befehl, entnommen der SpracheIntercal. Siehe auch http://www.fredbox.com/gotoless.html

[von EinGutesExceptionBeispiel]

[[Code]
error=0;
file=FileOpenMess?("test.txt"); // generates default error message
if(file==NULL) {
error=-1; goto finalize;
}
status=FileWriteMess?(file,"name=" + name); // generates default error message
if(status) {
error=-1; goto finalize;
}
status=FileWriteContent?(file);
if(status) {
message(...);
error=-1; goto finalize;
}
finalize:
FileClose?(file); // tolerant gegen file==NULL
return error;
]

Aber, aber, es geht doch auch ohne 'goto':

[[Code]
error=-1;
file=FileOpenMess?("test.txt"); // generates default error message
if(file==NULL) {
error_a:
}
status=FileWriteMess?(file,"name=" + name); // generates default error message
if(status) {
error_b:
}
status=FileWriteContent?(file);
if(status) {
message(...);
error_c:
}
error=0;
comefrom error_a;
comefrom error_b;
comefrom error_c;
FileClose?(file); // tolerant gegen file==NULL
return error;
]

;-) -- vgl

Wenn schon, denn schon:

[[Code]
error=-1;
file=FileOpenMess?("test.txt"); // generates default error message
error_a:
status=FileWriteMess?(file,"name=" + name); // generates default error message
error_b:
status=FileWriteContent?(file);
error_c:
error=0;
if (file==NULL) comefrom error_a;
if (status) comefrom error_b;
comefrom error_message;
FileClose?(file); // tolerant gegen file==NULL
return error;

if (status) comefrom error_c;
message(...);
error_message:
]


Siehe auch WardsWiki:ComeFrom

Nicht ganz ernstgemeinte Alternative zum GoTo? Befehl, entnommen der SpracheIntercal. Siehe auch http://www.fredbox.com/gotoless.html

[von EinGutesExceptionBeispiel]

  error=0;
  file=FileOpenMess("test.txt"); // generates default error message
  if(file==NULL) {
    error=-1; goto finalize;
  }
  status=FileWriteMess(file,"name=" + name); // generates default error message
  if(status) {
    error=-1; goto finalize;
  }
  status=FileWriteContent(file);
  if(status) {       
    message(...);
    error=-1; goto finalize;
  }
finalize:
  FileClose(file); // tolerant gegen file==NULL
  return error;

Aber, aber, es geht doch auch ohne 'goto':

  error=-1;
  file=FileOpenMess("test.txt"); // generates default error message
  if(file==NULL) {
error_a:
  }
  status=FileWriteMess(file,"name=" + name); // generates default error message
  if(status) {
error_b:
  }
  status=FileWriteContent(file);
  if(status) {       
    message(...);
error_c:
  }
  error=0;
  comefrom error_a;
  comefrom error_b;
  comefrom error_c;
  FileClose(file); // tolerant gegen file==NULL
  return error;

;-) -- vgl

Wenn schon, denn schon:

 
  error=-1;
  file=FileOpenMess("test.txt"); // generates default error message
error_a:
  status=FileWriteMess(file,"name=" + name); // generates default error message
error_b:
  status=FileWriteContent(file);
error_c:
  error=0;
  if (file==NULL) comefrom error_a;
  if (status) comefrom error_b;
  comefrom error_message;
  FileClose(file); // tolerant gegen file==NULL
  return error;

  if (status) comefrom error_c;
  message(...);
error_message:

Siehe auch WardsWiki:ComeFrom
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 30. Juli 2002 14:51 (diff))
Suchbegriff: gesucht wird
im Titel
im Text