我正在开发SAPUI5-App。有没有办法直接向客户显示所有错误,而无需在sapui5的每个回调中放置try-catch-block?他将在移动设备中使用我的应用程序而无法查看日志。
我已经尝试过以下代码:
<script type="text/javascript">
window.onerror = function(msg, url, line, col, error) {
var extra = !col ? '' : '\ncolumn: ' + col;
extra += !error ? '' : '\nerror: ' + error;
alert("Error: " + msg + "\nurl: " + url + "\nline: " + line + extra);
return false; //true = suppress error alert
};
window.addEventListener("error", handleError, true);
function handleError(evt) {
if (evt.message) {
alert("error: "+evt.message +" at linenumber: "+evt.lineno+" of file: "+evt.filename);
} else {
alert("error: "+evt.type+" from element: "+(evt.srcElement || evt.target));
}
}
jQuery.sap.log.addLogListener({
onLogEntry : function(oLogEntry) {
if(oLogEntry.level == '1'){
alert(oLogEntry.details + ' - '+oLogEntry.message);
}
}});
</script>
但我喜欢将日志中的错误消息复制到客户的警报中,因此他可以在设备中向我发送错误的屏幕截图。
我的所有尝试都没有显示足够的信息,也没有触发控制台日志中的每个错误。