码迷,mamicode.com
首页 > 其他好文 > 详细

throw和throws的区别?

时间:2019-11-09 21:43:09      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:tps   pat   知识   inf   语句块   pac   试题   mic   idt   

throw:

  • 表示方法内抛出某种异常对象
  • 如果异常对象是非 RuntimeException 则需要在方法申明时加上该异常的抛出 即需要加上 throws 语句 或者 在方法体内 try catch 处理该异常,否则编译报错
  • 执行到 throw 语句则后面的语句块不再执行


throws:

  • 方法的定义上使用 throws 表示这个方法可能抛出某种异常
  • 需要由方法的调用者进行异常处理
package constxiong.interview;
 
import java.io.IOException;
 
public class TestThrowsThrow {
 
    public static void main(String[] args) {
        testThrows();
        
        Integer i = null;
        testThrow(i);
        
        String filePath = null;
        try {
            testThrow(filePath);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    /**
     * 测试 throws 关键字
     * @throws NullPointerException
     */
    public static void testThrows() throws NullPointerException {
        Integer i = null;
        System.out.println(i + 1);
    }
    
    /**
     * 测试 throw 关键字抛出 运行时异常
     * @param i
     */
    public static void testThrow(Integer i) {
        if (i == null) {
            throw new NullPointerException();//运行时异常不需要在方法上申明
        }
    }
    
    /**
     * 测试 throw 关键字抛出 非运行时异常,需要方法体需要加 throws 异常抛出申明
     * @param i
     */
    public static void testThrow(String filePath) throws IOException {
        if (filePath == null) {
            throw new IOException();//运行时异常不需要在方法上申明
        }
    }
}

 


 


技术图片

 

所有资源资源汇总于公众号

技术图片



 

throw和throws的区别?

标签:tps   pat   知识   inf   语句块   pac   试题   mic   idt   

原文地址:https://www.cnblogs.com/ConstXiong/p/11827856.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!