这个函数内部throw,,抛不抛不都一样吗? 反正编译时都可以通过,都在运行时在报错的,,,, 而throws 特点在于编译都不会通过.这就有区别于不抛了。作者: 罗利民 时间: 2012-1-6 11:41
有时候有些错误在jvm看来不是错误,比如说
int age = 0;
age = -100;
System.out.println(age);
很正常的整形变量赋值,但是在我们眼中看来就不正常,谁的年龄会是负的呢。
所以我们需要自己手动引发异常,这就是throw的作用
int age = 0;
age = -100;
if(age<0)
{
Exception e = new Exception();//创建异常对象
throw e;//抛出异常
}
System.out.println(age);
作者: zhangdingdinghm 时间: 2012-1-6 13:00
throw 用来抛出异常
throws 用来标识可能抛出的异常
public class Person {
public void display() throws Exception{
System.out.println("hello everyone");
}
}
public class Test {
public static void main(String[]args){
Person person = new Person();
//在Person中的display方法抛出了异常,在调用display方法是需要捕捉
try {
person.display();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//在调用方法时,如果有用到用throws标识了异常的方法,程序最终被运行之前必须要被捕捉作者: 苏格拉底的弟子 时间: 2012-1-7 11:32
还有什么容易理解的说法吗作者: 刘博 时间: 2012-1-7 11:36
抛出异常可以给人家提示出信息,人家可以知道哪错了.
一切用户至上作者: 苏格拉底的弟子 时间: 2012-1-7 22:45
哈哈 原来这样啊