CheckException And UnCheckException in Java

參考資料:http://www.javapractices.com/topic/TopicAction.do?Id=129 
Unchecked exceptions : 

represent defects in the program (bugs) - often invalid arguments passed to a non-private method. To quote from The Java Programming Language, by Gosling, Arnold, and Holmes : "Unchecked runtime exceptions represent conditions that, generally speaking, reflect errors in your program's logic and cannot be reasonably recovered from at run time." 
are subclasses of RuntimeException, and are usually implemented using IllegalArgumentException, NullPointerException, or IllegalStateException
a method is not obliged to establish a policy for the unchecked exceptions thrown by its implementation (and they almost always do not do so)
Checked exceptions : 

represent invalid conditions in areas outside the immediate control of the program (invalid user input, database problems, network outages, absent files)
are subclasses of Exception
a method is obliged to establish a policy for all checked exceptions thrown by its implementation (either pass the checked exception further up the stack, or handle it somehow)
It is somewhat confusing, but note as well that RuntimeException (unchecked) is itself a subclass of Exception (checked). 

 

CheckException.java

public class CheckTest {
	public static void checktest() throws IllegalAccessException
	{
		System.out.println("in checktest");
		throw new IllegalAccessException("Throw Exception……");
	}

}


UnCheckException.java

public class UnCheckTest {
	public static void unChecktest(String param)
	{
		System.out.println("in unchecktest");
		throw new IllegalArgumentException("Throw Param Exception……"+param);
	}
}


Main.java

public class Main {
 public static void main(String[] args) {
  try {
   CheckTest.checktest();
  } catch (IllegalAccessException e) {
   e.printStackTrace();
  }
  UnCheckTest.unchecktest("aa");
 }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章