Ich erweitere meine Errormanagement-Funktion, die einige Bereiche von Variablen ablädt und sie per E-Mail an mich sendet. Ich verwende die onError-Methode in der Application.cfc für diesen Fall.ColdFusion: Argumente von der Funktion erhalten, die Fehler in der onError-Methode von Application.cfc wirft
<CFDUMP var="#arguments.exception#" label="Error">
<CFDUMP var="#Application#" label="APPLICATION-Scope" />
<CFDUMP var="#form#" label="FORM-Scope">
<CFDUMP var="#url#" label="URL-Scope">
<CFDUMP var="#CGI#" label="CGI-Scope" />
<CFDUMP var="#session#" label="SESSION-Scope" />
<CFDUMP var="#variables#" label="VARIABLES-Scope" />
die onError hat die Ausnahme als Argument, das ich zum ersten Mal in diesem Beispiel Dump .... aber wie bekomme ich die Argumente der Funktion, in der der Fehler aufgetreten ist? Zum Beispiel, wenn ich eine UDF in der OnRequest-Methode meiner Application.cfc wie <CFSET giveMeMyScripts("javascript-file-1","javascript-file-2") />
aufrufen. Ist das möglich, javascript-file-1
und javascript-file-2
zu bekommen? Art von Superargumenten?
Danke für irgendwelche Gedanken dazu.
Ich nehme an, Sie wissen nicht die Funktion, wo der Fehler auftritt? Wenn Sie wissen, welche Methode den Fehler auslöst, können Sie den Code in ein CFTRY umwandeln, den Bereich 'arguments' in Ihrem CFCATCH ablegen - oder diesen Bereich in den' request'-Bereich kopieren und diesen in 'onError()' ausgeben auch - dann verwenden Sie CFRETHROW. Ich glaube nicht, dass die 'onError()' Methode Zugriff auf den 'arguments' Bereich einer anderen Methode hätte. Hoffe das hilft. –
Sie haben Recht, ich weiß nicht, welche Funktion die Ausnahme verursacht (das Errormanagement wird in vielen Anwendungen verwendet). Danke für den Hinweis cfrethrow - das ist ziemlich nützlich für neuere Projekte. – Seybsen