• java中异常的抛出:throw throws


    java中异常的抛出:throw throws

    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声明将异常抛出给更上一层的调用者(此方法无法处理异常,将异常再次抛出)

    nice ,马飞~

    例如:

    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);
    		}
    	}
    }
    
  • 相关阅读:
    layui学习--tab选项卡
    json过滤不需要的字段
    转载 http协议无状态中的 "状态" 到底指的是什么?
    正则表达式30分钟入门教程--转载
    Hadoop 部署之 HBase (四)
    Hadoop 部署之 Hadoop (三)
    Hadoop 部署之 ZooKeeper (二)
    Hadoop 部署之环境准备(一)
    Kubernetes 集群日志管理 Elasticsearch + fluentd(二十)
    Kubernetes 监控方案之 Prometheus Operator(十九)
  • 原文地址:https://www.cnblogs.com/wenqiangit/p/10974453.html
Copyright © 2020-2023  润新知