我想知道是否可以用類似於異常的方式在Java中處理錯誤。我看過無法處理的錯誤,比如AssertionError,我也嘗試在程序中拋出一個錯誤,並嘗試使用catch處理它,它的工作以及下一部分代碼的執行(這與部分的矛盾程序應該在遇到錯誤時退出)。是否像很少的錯誤可以被處理,而其他人不可能被處理?我對此感到困惑,任何人都可以清除我的這個疑問,並說明錯誤和異常之間的區別?錯誤可以以與異常相同的方式處理
package package1;
public class Class1
{
public static void main(String[] args)
{
Class1 cl1=new Class1();
int x=2;
String s = null;
//assert(x<0):"x is not less than zero";
try
{
cl1.workonExceptions();
}
catch (Error e)
{
e.printStackTrace();
}
System.out.println("Not Terminated yet");
}
public void workonExceptions() throws Error
{
try
{
throw new Exception("Exception");
}
catch (Exception e)
{
throw new Error("Exception Again"); }
}
}
一些[read](http://www.coderanch.com/t/269746/java-programmer-SCJP/certification/Error-vs-Exception) – Attila
AssertionError是一個Throwable錯誤。所以你需要'catch(Error e)';異常也是Throwable,但不是祖先。 –