Für die Fehlerberichterstattung möchte ich einen Try-Catch-Wrapper um den Code jeder Funktion einfügen, die ich habe.
Also im Grunde möchte ich
ersetzen %Vor%... mit ...
%Vor%Gibt es eine Möglichkeit, diese generische Try-Catch-Funktion auf alle Funktionen anzuwenden, ohne sie manuell zu bearbeiten? Zum Beispiel durch Ändern des Prototyps des Function-Objekts?
BEARBEITEN
Warum ich alle meine Funktionen ausprobieren möchte: Ich erstelle eine HTML5-App, die ich auf iOS und Android veröffentliche. Ich kann von meinem gegenwärtigen rudimentären Javascript Fehler berichten, dass, obwohl die App gut auf meinem eigenen Gerät läuft, Fehler auf einigen anderen Geräten auftreten.
Mein Ziel ist ein zweifaches: Wann immer ein Javascript Fehler auf jemandes Gerät auftritt ...
Dies ist nicht einfach, da es keine Möglichkeit gibt, alle JavaScript-Funktionen zu finden, die überall definiert sind. Zum Beispiel würde ein solcher Ansatz wahrscheinlich Callback-Funktionen vermissen, die zur Laufzeit definiert sind.
Wahrscheinlich möchten Sie auch nicht alle Funktionen umbrechen, da dies Browserfunktionen und Funktionen von JavaScript-Bibliotheken einschließen würde, die Sie sicher nicht umbrechen möchten.
Ein viel besserer Ansatz ist wahrscheinlich, eine Funktion zu definieren, die eine andere Funktion umschließt:
%Vor%Jetzt können Sie diese Funktion verwenden, um alles zu dekorieren, was Sie möchten. Wrapping wird einfacher, wenn Sie Namensräume verwenden:
%Vor%Geben Sie einfach alle Funktionen in einen speziellen Namespace ein und durchlaufen Sie dann den Namespace:
%Vor%Ich frage mich (das ist reine Spekulation, also nicht sicher, ob das funktionieren würde), Sie könnten so etwas tun:
%Vor%Auch dies ist reine Spekulation und ich habe es nicht getestet, aber wenn es überhaupt möglich ist, denke ich, dass der Schlüssel in der eval Aussage liegt.
Tags und Links javascript error-handling try-catch prototype