try中含有throw到底是怎么回事,应该怎么理解?

来源:1-5 Java 中的异常抛出以及自定义异常

windy_yong

2015-01-10 23:17

public class excTest {
	public static void main(String[] args) {
		try{
			System.out.println("try中含有throw");
			throw new e1();
		}
		catch(e1 e){
			System.out.println("fsasd");
			System.out.println(e.getMessage());
		}
	}
}
public class e1 extends Exception{
	public e1(){
		super("dafsf");
	}

}

如上,上面这个控制台显示:

try中含有throw

fsasd

dafsf

这个throw应该怎么理解?

不是把异常抛到main方法吗?按这里的逻辑应该是在catch块中输出啊!


写回答 关注

2回答

  • XXiaoLEI
    2015-03-03 17:22:51
    已采纳

    你在try中扔了一个异常,这时catch会一直等待看有没有异常出现。如果捕获到了异常就会继续执行并输出异常信息

    windy_...

    非常感谢!

    2015-03-05 16:31:20

    共 1 条回复 >

  • 伊兮尘昔
    2015-01-12 11:14:18

    try-catch是捕获异常的语句块,而在try中直接扔出一个异常之后,会直接进入catch语句块中

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题