黑马程序员技术交流社区
标题:
这种情况不能用try{}finally{} 这种模式吗
[打印本页]
作者:
余善航
时间:
2013-1-20 02:47
标题:
这种情况不能用try{}finally{} 这种模式吗
class Demo2{
public void qwe()
{
try {
throw new Exception();// 报错未处理过得异常
}finally{
//这没有课关闭的资源
}
}
}
public class vvvv {
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo2 d=new Demo2();
d.qwe();
}
}
/* 这就是个小例子,尝试下try{}finally{}这中模式
可是这个问题怎么处理*/
作者:
柴乔军
时间:
2013-1-20 08:59
1. Exception在程序中必须使用try...catch进行处理。
2. RuntimeException可以不使用try...catch进行处理但是如果有异常产生则异常将由JVM进行处理。
class Demo2{
public void qwe()
{
try {
throw new Exception();// 报错未处理过得异常
} catch (Exception e) { //这里一定要catch
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//这没有课关闭的资源
}
}
}
public class vvvv{
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo2 d=new Demo2();
d.qwe();
}
}
结果如下:
java.lang.Exception
at test.Demo2.qwe(Student.java:6)
at test.Student.main(Student.java:21)
复制代码
作者:
折纸时代
时间:
2013-1-20 09:20
异常分为 编译时异常和运行时异常. 具体的处理方法也不同.
如果在方法上throws 抛出异常,在方法内 要么try catch try 处理,要么继续抛出.
你在try内 抛出了个编译时异常对象,却没有声明异常类型,也没有catch处理.这不行的.
class Demo
{
public void qwe() throws Exception
{
try
{
throw new Exception();//RuntimeException():可以不用声明异常类型,出现异常程序直接停止
}
/*catch(Exception e) //如果抛出编译时异常,要么catch内处理,要么方法上声明.
{
throw e;
}*/
finally
{
//这没有课关闭的资源
}
}
}
public class Demo2
{
public static void main(String[] args)
throws Exception
{
// TODO Auto-generated method stub
Demo d=new Demo();
d.qwe();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2