throws
throws是方法可能抛出异常的声明。用在声明方法时,表示该方法可能要抛出异常
语法:public void function() throws Exception{ ... }
当某个方法可能会抛出某种异常时,用throws声明可抛出的异常,然后交给上层调用它的方法程序处理。
例1:
public static void main(String[] args)
{
try{
method();
}catch(NumberFormatExcetion e){// 实际在此处new了一个对象
System.out.println(“非数据类型不能转换”);
}
}
public void method throws NumberFormatException{//在这里声明可能发生的异常,并交给调用者处理
String s = "abc";
System.out.println(Double.parseDouble(s));//把字符串转为double类型
}
throw
throw是语句抛出一个异常,一般是程序员主动抛出某种特定类型的异常
语法:throw 异常对象
例2:
public class throwTest {
public static void main(String[] args)
{
method();
}
public static void method(){
int a = 1;
int b = 0;
if(b == 0)
{
throw new ArithmeticException(); //抛出异常
}
else
System.out.println(a/b);
}
}
throw和throws的区别:
1.throws出现在方法函数头; 而throw出现在函数体
2.throws表示出现异常的可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常对象
好的编程习惯:
1.在写程序时,对可能出现异常的部分通常用try{...}catch(){...}去捕捉,并对他进行处理
2.用try{...}catch{...}捕捉了异常之后一定要对在catch{...}中对其进行处理,那怕是最简单的一句输出语句,或栈输入e.printStackTrace();
3.如果在函数体内用throw抛出了某种异常,最好要在函数名中加throws抛异常声明,然后交给调用它的上层函数进行处理