Hi Thomson, wir haben dafür ein Framework.
Bei uns schauen alle Fkt so aus:
Public Function machwas(param) As Variant
On Error Goto rethrow
If False Then
rethrow: rethrow
End If
' --- Ende Errorhandling
' hier der Code
end Function
d.h wenn in einer aufrufenden Fkt ein Fehler auftritt dann wird der in der Fkt gehandelt und "weiter" geworfen. Die rethrow Methode baut dann einen Stack-Trace auf und die oberste Fkt hat einen Handler, der diese Infos dann anzeigen kann. Das Ergebnis sieht dann z.b. so aus.
Error 1000 - de.foconis.FocException: unexpected end reached
at de.foconis.lib.agent.formulaTest.FocFormulaParser.parseterm(de.foconis.lib.agent.formulaTest:246)
at de.foconis.lib.agent.formulaTest.FocFormulaParser.parseexpr(de.foconis.lib.agent.formulaTest:307)
at de.foconis.lib.agent.formulaTest.FocFormulaParser.parseexprs(de.foconis.lib.agent.formulaTest:279)
at de.foconis.lib.agent.formulaTest.FocFormulaParser.parse(de.foconis.lib.agent.formulaTest:326)
at de.foconis.lib.agent.formulaTest.FocFormulaTestAgent.run(de.foconis.lib.agent.formulaTest:797)
Somit sieht man sehr schnell die betroffenen Codestellen (und da ich zu "faul" bin, mir die Lib im Designer zu suchen, möchte ich auf "de.foconis.lib.agent.formulaTest:246" klicken können und in der entsprechenden Lib in Zeile 246 landen
)
<werbung>
Mehr Infos zu diesem Framework gibts auf
http://www.foconis-object-framework.de</werbung>
Gruß
Roland