【问题标题】:Titanium Appcelerator - HTTPClient - onload - custom exceptionTitanium Appcelerator - HTTPClient - onload - 自定义异常
【发布时间】:2014-10-12 18:35:50
【问题描述】:

我正在使用 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 ); 
}

【问题讨论】:

  • 尝试在onload函数中编写try catch块。同时添加一个onerror函数。

标签: exception titanium httpclient appcelerator onload


【解决方案1】:

This might be the correct answer or at least the explanation :

顺便说一句,你的 try...catch 博客没有区别的原因是“invoke”成功——它是一个异步调用,所以它只是立即返回控制,因此你直接通过 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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多