throws
在类之中所有的操作都是以方法体现的,那么在方法的操作之中也是有可能出现异常的,如果方法出现异常之后希望被调用处进行处理,就使用throws进行声明
范例:在方法定义上使用throws
package YICHENG;
class MyMath{
public static int div(int x,int y) throws Exception{
return x/y;
}
}
public class Throwc {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
System.out.println(MyMath.div(10, 0));
}catch(Exception e){
e.printStackTrace();
}
}
}
在日后肯定会使用大量的java类库进行项目的开发,有些类库你是不熟悉的,但是在类方法设计的时候会考虑到用户执行处可能出现的问题,
一般都会在方法上使用throws抛出异常,那么用户根据这些抛出就可以使用try..catch进行处理了。
同时需要注意的是,既然方法上可以使用throws,那么在主方法上也可以使用throws,表示主方法也不处理异常。那么交给JVM进行处理
class MyMath{
public static int div(int x,int y) throws Exception{
return x/y;
}
}
public class Throwc {
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
System.out.println(MyMath.div(10, 0));
}
}
一般这样的代码很少出现。因为如果在调用处一定要处理异常
throw关键字
如果在异常的处理之中,调用throw,那么就表示人为抛出一个异常对象。而throw一般都在方法中使用
范例:手工抛出异常:
public class Throwd {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
throw new Exception("自己跑着玩的");
}catch(Exception e){
e.printStackTrace();
}
}
}
面试题:请解释throw和throws区别?
throw主要用于方法体之中,表示人为的抛出一个异常类的实例化对象
throws在方法的声明处使用,表示此方法不处理异常,所有的异常交给被调用处进行处理。