在java中一个方法抛两个异常会怎样

在一个java方法中同时用throw和throws抛出异常。会有不良的影响么。会不会有一个一个异常抛不出去的情况发生啊?求大神帮帮忙

他俩用的地方不一样,throws是写在方法后面,其他地方调用时,要捕获,throw是在方法内直接抛出,可以一起用throw触发了,估计就到不了throws的捕获了,看你具体怎样用的

方法声明时可以抛出异常,但是并不代表调用这个方法时会发生异常。
测试要构造异常条件才能走入异常分支的啊。例如:

 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());
        }
    }

}

测试一下就知道构造了三种测试用例,走入三种不同流程的。-