为了账号安全,请及时绑定邮箱和手机立即绑定

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

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 回答

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

0 回复 有任何疑惑可以回复我~
#1

windy_yong 提问者

非常感谢!
2015-03-05 回复 有任何疑惑可以回复我~

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

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409790    人
  • 解答问题       4340    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信