东北话讲throw和theows的区别

转载自自己的博客https://www.cnblogs.com/zhaokexin/p/9962246.html

大家好,博主是个东北人哈尔滨那嘎达的,在实习中吧,感觉自己学习之路贼拉长,学习又没乐趣,感觉工作中的人都感觉我都东北话好玩儿,

那我就用东北话来分享一些知识和学习成果,这样既进步又有趣,以下有什么不对的欢迎大家呲哒我。

在我们写代码的时候总会遇到抛异常啥的,但是那玩意究竟咋用,往哪嘎达用,我就简简单单分享一下子。

throws用在方法上,在函数头,而throw出现方法体中,

throws表示这个方法体内 妖觉是(可能)出现的异常,throw那肯定就是出现了异常,

处理异常是一层一层往上 leng(抛),一直到某个方法处理了或者leng(抛)给了jvm,

首先附上代码显示出现了IOException的时候,没有具体方法处理,直接一层层抛给jvm的情况

复制代码

package design_mode.proxy.static_proxy;


import java.io.IOException;

public class text {
    int age;
    
    public void a() throws IOException{//就直接抛出可能的异常没有处理
        int i=0;
    
        int x=5/i;
                System.out.println(x);
                
    }
public static void main(String[] args) throws IOException{//main函数也没处理就会抛给jvm
    
    
    text t=new text();
        t.a();

}
}

复制代码

主要看代码中的注释,就解释了throws  嘎哈了(干什么了),就是在方法中抛出可能的异常,main函数也抛出可能的异常,最后一层层 leng (抛出)给了jvm,然后控制台输出

Exception in thread "main" java.lang.ArithmeticException: / by zero
 at design_mode.proxy.static_proxy.text.a(text.java:14)
 at design_mode.proxy.static_proxy.text.main(text.java:22)

其实咱不管有没有写两个throws,都会由jvm抛出异常by zero所以就说明throws是一层一层抛出可能出现的异常

下面就说一下用throw的用法,因为当我们用throw就说明一定出现异常了,然后抛给main函数,那么main函数接到throw来的异常再用try catch来写出具体啥异常,

下面是代码实现和具体的注释解释

复制代码

import java.io.IOException;

public class text {
    int age;
    
    public void a() throws IOException{//throws用在方法上,表示这个方法可能抛出的异常
        int i=0;
        if(i==0) {
            throw new IOException();//throw表示已经出现异常,抛给main处理,如果main没处理就会往上抛
        }
        int x=5/i;
                System.out.println(x);
                
    }
public static void main(String[] args){
    
    try {
    text t=new text();
        t.a();
    } catch (IOException e) {
        System.out.println("出现io异常");
    }
    
    
}
}

复制代码

控制台输出为:出现io异常

这说明public void a() throws IOException中的throws IOException表明这个a方法可能抛出io异常,然后 throw new IOException();//throw表示已经出现异常,抛给main处理,如果main没处理就会往上抛,但是这里我在main函数中try catch了IOEception并且输出 System.out.println("出现io异常"),所以控制台输出为:出现io异常

博主是刚刚在实习的小白,希望哪里不对大家多多指正,一起成长一起进步,每天博主会发一个java学习的小知识QAQ,希望如果大家伙儿感觉挺好玩er就点个小心心。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值