java中的异常抛出
语法:
public class ExceptionTest{ public void 方法名(参数列表) throws 异常列表{ //调用会抛出异常的方法或者抛出新的异常(throw new Exception();) }}
注:throws 异常列表位于方法体之前,可抛出多种类型的异常,每个类型之间用逗号隔开
例如:
public class ExceptionTest{ public void divide(int one,int two) throws Exception{ if(two==0){ throw new Exception("两数相除,除数不能为0!"); } else{ System.out.PRintln("两数相除,结果为:"+one/two); } }}如果某个方法调用到了会抛出异常的方法,有以下两种解决方案:
1.添加try-catch去捕获异常进行处理
例如:
public class ExceptionTest { public static void main(String[] args) { try{ divide(5,0); // 调用了会抛出异常的方法divide(); }catch(Exception e){ System.out.println(e.getMessage()); } } public static void divide(int one,int two) throws Exception{ if(two==0){ throw new Exception("两数相除,除数不能为0!"); } else{ System.out.println("两数相除,结果为:"+one/two); } }}运行结果:两数相除,除数不能为0!
2.添加throws声明将异常抛出给更上一层的调用者(此方法无法处理异常,将异常再次抛出)
例如:
public class ExceptionTest { public static void main(String[] args) throws Exception { //添加throws声明 divide(5,0); } public static void divide(int one,int two) throws Exception{ if(two==0){ throw new Exception("两数相除,除数不能为0!"); } else{ System.out.println("两数相除,结果为:"+one/two); } }}
新闻热点
疑难解答