java中的throw与throws的区别

本文深入探讨了Java中异常处理机制中的两个关键概念:throw和throws。通过实例解析,阐述了它们在抛出和声明异常时的具体用法及区别,帮助开发者更好地理解和运用Java的异常处理特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package Throws;
/**
 * throw:是抛出某个异常对象,作为一条代码语句执行
 * throws:是写在方法体的定义上的,后面跟要抛出的多个异常类
 *对于throws来说,异常可以不用解决,谁来调用这个方法,就同样接收了这些异常
 *最终会抛向主程序入口,如果一直没有解决,而异常有很严重,则程序不能执行
 */
public class Throws {

    public static void main(String[] args) throws InterruptedException {
        Throws p=new Throws();
        p.print();
        p.speak();
    }


public void print() throws InterruptedException{
    print1();
}
public void print1() throws InterruptedException{
    print2();
}
public void print2() throws InterruptedException{
    System.out.println("你听得到吗");
    Thread.sleep(2000);
    System.out.println("我听到了");
    
}
public void speak(){
    try {
        String str=null;
        System.out.println(str.length());
    } catch (Exception e) {
        e.printStackTrace();
        throw new RuntimeException("空指针异常");
    }

}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值