TResult - einfache Überprüfung von Funktionen
Übersicht

ShamanBetreff: TResult - einfache Überprüfung von Funktionen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
TResult ist eine Klasse, die ich geschrieben habe, um bei Funktionen, die häufig fehlschlagen,
zu überprüfen, was schief gelaufen ist. (Etwas holprig, ich weiß) Die Anregung dazu kam von C++ mit HRESULT von Windows-Funktionen. Derzeit sind diese Rückgabewerte eingebaut: OK, TIME_OUT, FAIL, ERROR, OUT_OF_BORDER Dies kann jedoch leicht erweitert werden. Der Code ist, wie alle meine (kommenden) Codes, für ein Modul ausgelegt, und entsprechend für bbdoc kommentiert. Code: [AUSKLAPPEN] Rem bbdoc: shaman\Result about: Simple Result Typ Initialised with Init() EndRem Module shaman.Result Rem bbdoc: Used to define a Result about: Example: <br><br> Function Test:TResult() <br> Return TResult.OK <br> end function <br> If Test()=TResult.OK then Print "OK" EndRem Type TResult Rem bbdoc: Shows "OK" EndRem Global OK:TResult Rem bbdoc: Shows "Time out" EndRem Global TIME_OUT:TResult Rem bbdoc: Shows "Fail" EndRem Global FAIL:TResult Rem bbdoc: Shows "Error" EndRem Global ERROR:TResult Rem bbdoc: Shows "Out of Border" EndRem Global OUT_OF_BORDER:TResult Field name:String Method ToString:String() Return Self.name End Method Rem bbdoc: Initialize The Result System End Rem Function Init() TResult.OK=New TResult TResult.OK.name="OK" TResult.TIME_OUT=New TResult TResult.TIME_OUT.name="Time out" TResult.FAIL=New TResult TResult.FAIL.name="Fail" TResult.ERROR=New TResult TResult.ERROR.name="Error" TResult.OUT_OF_BORDER=New TResult TResult.OUT_OF_BORDER.name="Out of Border" End Function End Type Ein Beispiel: Code: [AUSKLAPPEN] Import shaman.Result TResult.Init() If TestFunc("blab")=TResult.OK Then Print "Success" Else Print "Error" Endif If TestFunc("")=TResult.OK Then Print "Success" Else Print "Error" Endif End Function TestFunc:TResult(text:String) If text=null Or text="" Then Return TResult.ERROR Print text Return TResult.OK End Function |
||
Macintosh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So etwas ürde ich dann doch eher über einen integer rückgabewert lösen.
Oder bei methoden exceptions schmeißen. |
||
Shaman |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habs haptsächlich zur vereinheitlichung von meinen Modulen gemacht.
Exceptions wollte ich nicht benutzten, weil ich es umständlich finde jeden Befehl in einen Try-Catch Block zu packen. Aber danke für deine Bewertung |
||
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzMax: [AUSKLAPPEN] If TestFunc("blab")=TResult.OK Then BlitzMax: [AUSKLAPPEN] Try Umständlicher finde ich das nicht. Und genau dazu sind Exceptions da ![]() |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group