2013-01-12 29 views
0

在Eclipse和Android上試用我的手。 但是,當我保存我的文件時,eclipse尖叫了一個未處理的異常。 然而,當試圖添加catch位時,Eclipse告訴我必須在try中刪除代碼 !由Eclipse通知的未處理的異常通過Eclipse

任何人都可以告訴我發生了什麼事? 我是Java和Eclipse的新手。

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     try 
     {  
      setContentView(R.layout.activity_main); 
      todo_source = new ToDoListFile("todo.json"); 
     } 
     finally 
     { 

     } 
    } 

謝謝!

問候。

+2

_When嘗試添加catch位,但是,Eclipse告訴我我必須刪除try中的代碼!_你到底在做什麼_catch bit_,以及Eclipse說的確切的東西是什麼? – varevarao

+0

你不能使用沒有catch塊的嘗試。 – Leonidos

回答

1

你應該捕捉到了異常:

try{ 
    myStuff(); 
catch(Exception e){ 
    e.printStackTrace(); 
} 

here見。如果這沒有幫助,請顯示您如何嘗試捕獲異常,以及Eclipse給您的確切消息。

+0

好吧,我在做的事很簡單:我沒有使用括號和異常名稱,我只寫了「catch FileNotFoundException」,而不是正確地做。 –

0

當你選擇在代碼中處理異常時,你必須在catch塊中處理它,目前你沒有處理異常。你只需要一個try塊,在其中放入可能會拋出異常的代碼片段,以及不執行任何操作的finally塊。捕獲catch塊中的異常並處理它(打印異常的堆棧跟蹤)。

try 
{  
    setContentView(R.layout.activity_main); 
    todo_source = new ToDoListFile("todo.json"); 
} 
catch(WhatEverException ex){ 
ex.printStackTrace() 
} 
+0

格式化您的代碼! – MrSmith42

+0

當我醒來後,我終於注意到了我的錯誤:)我早些時候給Niek留下了點 - 但真的,你應該得到他們:) –

0

請注意,您需要將serContentView放到try塊外部。 它可能會阻止

0

只要try塊內的代碼不會引發異常,您的聲明就是有效的。可能new ToDoListFile("todo.json");拋出一個異常,你需要catch