2013-07-23 132 views
-7

在我的代碼中,我有幾個throw語句:throws IOExceptionURISyntaxExceptionInterruptedException等)。每次出現錯誤時,程序都會停止運行並退出。如何在不關閉程序的情況下捕獲這些錯誤?java - 拋出程序錯誤

+0

使用'try-catch'模塊。 – MathSquared

+0

請注意'throw'拋出異常,通過'throw new MyException()'與'throws'使用,這是用於表示函數實際上可能拋出異常的語句。 – luk2302

+0

查看[docs](http://docs.oracle.com/javase/tutorial/essential/exceptions/)。 –

回答

2

您需要實施try-catch塊。想象一下,你有一些拋出異常的方法:

public void someMethod() throws Exception { 
    throw new Exception(); 
} 

調用該方法,並處理異常,你可能會做這樣的事情:

try { 
    someMethod(); 
} catch (Exception e) { 
    // handle the exception here 
} 
1

您可以跟蹤導致該錯誤的問題。這是通過try-catch塊完成的。更多信息here。有一個簡單的聲明,允許您在控制檯上顯示錯誤printstacktrace();。下面是這樣的一個非工作例如:

try { 

     //Check some suspicious code here: 
     aMethod(); 

    } catch(Exception e) { 

      //Handle the evil code here: 
      System.out.println("Error! Error! Stupid organic:"); 
      e.printStackTrace(); 

    } 

裏面try身體,你會寫代碼。代碼將像平常一樣執行,除了指定的異常將被拋出。但在catch正文中,您將編寫異常處理代碼。如果try中的代碼使編譯器發瘋,編譯器將會引用catch。還有另一個塊不像前面提到的那樣普遍,finally。如果try捕獲到異常,那麼該主體內的代碼將始終執行。更多信息here

最後,我會推薦你​​兩個不同的鏈接。 first將您重定向到例外文檔,second將您重定向到關於tutorialpoint.com上的異常處理的好文章。