2012-12-28 82 views
0

我有調用方法的線程,如果發生任何異常,它將返回到該線程的catch塊。如何在線程內發生異常時調用方法

後來,然後我喜歡調用處理程序或吐司消息來顯示異常,但我不能稱它顯示錯誤。

我該怎麼做才能解決問題,任何想法。

在此先感謝。

private void onSaveDialog() {  

    final ProgressDialog dialog = new ProgressDialog(this); 

    dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
    dialog.setTitle("mApprove Advantage"); 
    dialog.setIcon(R.drawable.mapprove1); 
    dialog.setMessage("Theme setting is in progress..."); 
    dialog.setIndeterminate(false); 
    dialog.setCancelable(false); 
    dialog.show(); 
    new Thread() { 
     @Override 
     public void run() { 
      try { 

       Thread.sleep(5000);  
       synchronized (this) { 
       onsave(); 
      } 
       dialog.cancel(); 
       onSetting(); 
      } catch (Exception e) { 
       dialog.cancel(); 
       wrongurl=true; 
       onFinishDialog1(); 
       System.out.println("url wrong"); 

      } 

     }   
    }.start(); 
    } 

private void onFinishDialog1(){ 
    if(wrongurl){ 
     wrongurl=false; 
     Toast.makeText(getApplicationContext(), 
       "URL not Available.", Toast.LENGTH_LONG) 
       .show(); 
    } 

} 
+0

「但我無法調用它顯示錯誤。」 - 爲什麼? – Simon

+1

發佈你的代碼到目前爲止你所嘗試過的是什麼? –

+0

我不知道,線程不允許在出錯時調用任何方法或處理程序 – saran

回答

0

使用此:

runOnUiThread(new Runnable() 
     {     
      @Override 
      public void run() 
      { 
      try { 

       Thread.sleep(5000);  
       synchronized (this) { 
       onsave(); 
      } 
       dialog.cancel(); 
       onSetting(); 
      } catch (Exception e) { 
       dialog.cancel(); 
       wrongurl=true; 
       onFinishDialog1(); 
       System.out.println("url wrong"); 

      } 
      } 
}); 

感謝。

+0

非常感謝 – saran

0

使用runOnUiThread用於顯示從螺紋敬酒消息:

// your code here 
    } catch (Exception e) { 
    Your_Activity.this.runOnUiThread(new Runnable() { 
      public void run() { 
      dialog.cancel(); 
      wrongurl=true; 
      onFinishDialog1(); 
      // show your message here 
      Toast.makeText(Your_Activity.this, "Error", Toast.LENGTH_LONG).show(); 

      } 
    }); 
    } 
相關問題