黑马程序员技术交流社区
标题:
问一下try{}catch(){}
[打印本页]
作者:
吴刚—heima
时间:
2013-5-30 13:12
标题:
问一下try{}catch(){}
我在学习异常的时候发现,我们如果要检测异常一般情况是要抛出异常,但是这个语句并没有看到抛出语句,而直接捕获,请问这条语句是不是隐含了抛出异常,如果不是那么这是什么情况?
作者:
郭天龚
时间:
2013-5-30 15:51
1.try{}catch(){} 没有隐式抛出任何异常。
2.try{实现某中功能的代码。(这个功能代码可能会出现异常)} 当执行try块里的代码时发生了异常,系统会自动生成一个异常对象(把异常发生的代码行号,类别封装在这个对象中)
该对象被提供给java的运行时环境,这是java的运行时环境会寻找能处理该异常的catch语句块,交给他并且处理该异常。
catch(Exception e){出现异常后要进行某种处理的代码块}
作者:
卢祥洲
时间:
2013-5-30 15:54
throws和throw的区别?throws使用在函数上;throw使用在函数内。
class A{
public function() throws Exception{
try{
...
throw new Exception();
}catch(){}
}
}
作者:
袁梦希
时间:
2013-5-30 17:16
如果帖子没有问题了,请把帖子的类型改为“已解决”
如果不会改,请看我的个性签名
作者:
逝者轨迹
时间:
2013-5-30 20:10
try{}catch{}的作用是捕获try{}代码块中的异常,只对try{}起作用
作者:
李润根
时间:
2013-5-30 21:17
这句没有隐含了抛出异常,try块捕捉异常,cathc块,可以直接处理异常,也可以抛出异常让调用者处理异常(throw)
作者:
shiweiCao
时间:
2013-5-31 19:44
java中对于异常的处理有两种:
1 捕获
try{
//有可能出现问题的代码
}catch(异常类型 变量){
//处理问题的位置
}finally{ //不是必须有
//强制执行一次的代码
}
2 抛出 throws
看看这段代码. public class Test7 {
/**
* main 主方法
* 程序入口.
* */
public static void main(String[] args) throws Exception {
// 主方法中还可以抛出异常.
try {
// 有可能出现异常的代码,如果出现多句,从抛出异常处开始后面的将不再执行.
int i = 0;
//这里如果出现异常,那么后面的将不再执行.
System.out.println(10 / i);
System.out.println("这里的语句执行了吗?-----");
} catch (Exception e) {
// 如果try中抛出异常,catch用来捕获和处理异常.打印出异常信息或者自定义语句.
System.out.println(e.getMessage());
System.out.println("除数不能为0!------");
} finally{
// finally中的语句,是无论是否抛出异常都会被执行到. 特殊情况:system.exit(0);停止虚拟机的情况下不会执行到.
System.out.println("finally");
}
try{
throw new Exception("手动抛出异常");// 一般用来抛出一个自己定义的异常.
}catch(Exception e){
System.out.println(e.getMessage());
}
}
} 捕获和抛出是两种不同的处理方式 .
作者:
李健09
时间:
2013-5-31 21:19
try{}catch{}是在try程序块中捕捉可能出现的异常并在catch块中作处理;try{} 表示该大括号名括的语句有可能抛出异常,如果捕捉到的异常,则由catch(...)进行识别并处理.
作者:
十字路口
时间:
2013-5-31 21:49
在try中写可能会出现异常的代码,也就是在try中就可以抛出异常,当有异常抛出时,catch就会自动捕获。
当然你也可以直接抛出不用捕获不过要在方法名后面声明throws Excpetion(要抛出异常的类),或在main中声明,这样就是让虚拟机catch你的异常,不过最好不要这样做。。
作者:
曹睿翔
时间:
2013-6-2 10:41
如果问题已经解决,再次编辑,修改主题类型为已解决,方便大家查看
否则继续追问
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2