java 异常

在处理抛出异常的方法时,我们可以采用try/catch进行捕捉 或者使用throws抛出, 但具体怎么使用, 什么时候进行try/catch,什么时候进行throws? 现通过代码简要总结.

实验1 :使用try/catch

 在main方法中对methord1()抛出的异常进行捕捉 

import java.io.File;  
import java.io.IOException;  
  
public class ExceptionTest {  
  
    public static void main(String[] args) {  
        try {  
            methord1();  
        } catch (IOException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
        methord2();  
    }  
    private static void methord1() throws IOException {  
        // TODO Auto-generated method stub  
        System.out.println("methord1 ");  
        File f = new File("");  
        f.createNewFile();  
          
        System.out.println("methord1111 ");  
    }  
    private static void methord2() {  
        // TODO Auto-generated method stub  
        System.out.println("methord2 ");  
    }  
}  

 结果为:

methord1   
java.io.IOException: 系统找不到指定的路径。  
    at java.io.WinNTFileSystem.createFileExclusively(Native Method)  
    at java.io.File.createNewFile(File.java:850)  
    at com.bryant.test.ExceptionTest.methord1(ExceptionTest.java:21)  
    at com.bryant.test.ExceptionTest.main(ExceptionTest.java:10)  
methord2   
 methord2 方法也执行.

 

实验2.使用throws

修改main方法为throws methord1()抛出的异常:

public static void main(String[] args) throws IOException {  
          
        methord1();  
        methord2();  
    }  

结果为: 

methord1   
Exception in thread "main" java.io.IOException: 系统找不到指定的路径。  
    at java.io.WinNTFileSystem.createFileExclusively(Native Method)  
    at java.io.File.createNewFile(File.java:850)  
    at com.bryant.test.ExceptionTest.methord1(ExceptionTest.java:17)  
    at com.bryant.test.ExceptionTest.main(ExceptionTest.java:10)  

  方法methord2 没有执行.

由此总结:

当出现的异常使程序后面无法执行时,抛出异常,结束程序.使用throws
当程序出现异常,不影响后续操作时,捕捉异常,后续程序将继续执行.使用try/catch

应该是当使用throw 时,程序跳出本方法执行,throw后面的代码不执行. 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值