我正在使用Titanium Studio(版本:3.4.0.201409261227),我试图在Ti.Network.HTTPClient的“onload”回调中捕获异常。
但那是不可能的,我得到了“应用程序错误”的“红色屏幕”,我无法捕捉到异常。
有人有想法吗?
try {
var tiHTTPClient = Ti.Network.createHTTPClient({
onload : function(e) {
throw 'EXCEPTION';
}
});
tiHTTPClient.open( 'GET', 'http://www.google.com' );
tiHTTPClient.send();
}
catch( e ) {
alert( 'E: ' + e.message );
}
在“onload”功能之外,可以通过以下方式轻松实现:
try {
throw 'EXCEPTION';
}
catch( e ) {
alert( 'E: ' + e.message );
}
答案 0 :(得分:0)
This might be the correct answer or at least the explanation :
顺便说一下,你尝试捕捉博客没有区别的原因是“调用”成功 - 它是一个异步调用,所以它只是立即返回控制,因此你通过try块直接传递没有任何问题。 块引用
一个解决方案可能是:
var exceptionHandling = function( msg ) {
alert( 'E: ' + msg );
};
var tiHTTPClient = Ti.Network.createHTTPClient({
onload : function(e) {
exceptionHandling('EXCEPTION');
}
});
tiHTTPClient.open( 'GET', 'http://www.google.com' );
tiHTTPClient.send();