1.定義一個方法,當這個方法出錯時,拋出一個自定義異常。
2.用 try catch 捕捉該方法拋出的異常並處理
3. 定義一個方法,調用並轉拋異常
4. 用 try catch 語句捕捉異常,並輸出異常的拋出過程
請問這個如何實現,求大神附上代碼,謝謝
根據你的描述,編寫測試代碼如下:
import java.util.ArrayList;
import java.util.List;
public class ExceptionTest {
/**
* 判斷某個列表中,某個位置處的值是否是指定的字符串
* 可能拋出兩種異常
* @param value
* @param list
* @param index
* @return
*/
public static boolean isTargetInCertainIndex(String value,List<String> list,int index)
throws IllegalArgumentException,IndexOutOfBoundsException {
if(value==null||list==null){
throw new IllegalArgumentException("date is null");
}
if(index>list.size()){
throw new IndexOutOfBoundsException("index is out of bounds");
}
boolean flag = false;
String data = list.get(index);
return value.equals(data);
}
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("hello");
list.add("world");
list.add("I");
boolean flag = false;
//沒有異常的測試
try {
flag = isTargetInCertainIndex("hello",list,0);
System.out.println("flag:"+flag);
} catch (Exception e) {
System.out.println(e.getMessage());
}
//一種異常的情況
try {
flag = isTargetInCertainIndex(null,list,0);
System.out.println("flag:"+flag);
} catch (Exception e) {
System.out.println(e.getMessage());
}
//另一種異常的情況
try {
flag = isTargetInCertainIndex("hello",list,4);
System.out.println("flag:"+flag);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}