0

このエラーをキャッチして、自分で処理し、ユーザーに表示しないようにしたいと考えています。どうすればいいのですか???

Windows Azure 用の Android 用公式 SDK を使用しています。

このエラーは、おそらく 2 ~ 3% の確率でのみ表示されます。それ以外の場合はすべて正常に接続されます。

また、Azure に接続しようとするアクティビティが存在しなくなった場合、コンテキストは存在しなくなり、アプリをクラッシュさせる存在しないコンテキストでメッセージを表示しようとします。

このコードは基本的に、windows azure の todolist の例からそのままです。

ありがとう、

アンソニー G.

        try {
            // Create the Mobile Service Client instance, using the provided
            // Mobile Service URL and key
            mClient = new MobileServiceClient(
                    "XXXXXXX",
                    "YYYYYYYYY", this)
                    .withFilter(new ProgressFilter());

            createTable();

        } catch (MalformedURLException e) {
            createAndShowDialog(
                    new Exception(
                            "There was an error creating the Mobile Service. Verify the URL"),
                    "Error");
        } catch (Exception e) {
            Log.d(TAG, "Exepction caught" + e.toString());
        }

そして、ここにテーブル作成部分があります。

try {

        Log.d(TAG, "Create table called and started. ");

        // Get the Mobile Service Table instance to use
        // Don't use the default, because the table on Azure has a different name than the class, instead use this call. 
        mToDoTable = mClient.getTable("MY_TABLE",
                MY_TABLE_SPECIAL_CLASS.class);

        // Create an adapter to bind the items with the view
        mAdapter = new DownloadedMapsListAdapter(this, R.layout.row_list_show_maps_to_download);
        ListView listViewToDo = (ListView) findViewById(R.id.listview_data_fromAzure);

        //listViewToDo.setOnItemClickListener(mMessageClickedHandler); 
        listViewToDo.setAdapter(mAdapter);          

        // Load the items from the Mobile Service
        refreshItemsFromTable();

    } catch (Exception e) {
        Log.d(TAG, "Exepction caught" + e.toString());
    }

ここに画像の説明を入力

4

1 に答える 1

0

わかりました、私はばかです。refreshItemsFromTable() には、実際の「execute」ステートメントが呼び出されています (質問には投稿しませんでした)。実行は、実際に Azure に接続するときです。この関数は、try-catch を使用するのではなく、例外が null かどうかを確認します。したがって、表示されていたのは CreateAndShowDialog(exception, string) でした。

多分これは他の誰かを助けるでしょう。

/**
 * Refresh the list with the items in the Mobile Service Table
 */
private void refreshItemsFromTable() {

    // Get the items that weren't marked as completed and add them in the
    // adapter

    Log.d(TAG, "refreshItemsFromTable");
    mToDoTable.execute(new TableQueryCallback<MapObjects_FromAzure>() {

        public void onCompleted(List<MapObjects_FromAzure> result, int count,
                Exception exception, ServiceFilterResponse response) {
            if (exception == null) {

                Log.d(TAG,
                        "refreshItemsFromTable on complete, with no exception thrown so far. ");

                mAdapter.clear();

                for (MapObjects_FromAzure item : result) {
                    mAdapter.add(item);

                }

            } else {
                createAndShowDialog(exception,
                        "Error" + exception.toString());
            }
        }
    });
于 2013-08-30T01:23:09.350 に答える