Java中处理异常throw和throws

   对于java初学者学会管理自己代码中的异常情况出现很重要,所以今天就讲讲异常处理。对于异常,大家会想到try,catch,finally,throw,throws这些关键字。


1,定义

异常:异常阻止当前方法或作用域继续执行的问题。

throw:就是自己进行异常处理,throw一旦进入被执行,程序立即会转入异常处理阶段,后面的语句就不再执行, 而且所在的方法不再返回有意义的值!

throws:用来声明一个方法可能抛出的所有异常信息,将异常声明但是不处理,而是将异常往上传,谁调用我就 交给谁处理。

try出现在方法体中,它自身是一个代码块,表示尝试执行代码块的语句。如果在执行过程中有某条语句抛出异 常,那么代码块后面的语句将不被执行。

catch出现在try代码块的后面,自身也是一个代码块,用于捕获异常try代码块中可能抛出的异常。catch关键字 后面紧接着它能捕获的异常类型,所有异常类型的子类异常也能被捕获。

finally表示不管异常是否发生,都得进行此方法体中处理,关闭输入流输出流。


2,throw 与 throws   

☆throws出现在方法函数头,表示该方法可能会抛出的异常,允许throws后面跟着多个异常类型;而throw出现在 函数体,当方法在执行过程中遇到异常情况时,将异常信息封装为异常对象,然后throw。

throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出 了某种异常对象。


3,try,catch,finally用法

try{  
 ……  
}catch(Exception e){  
 ……  
}finally{  
 ……  
} 

try{……}中放置可能会发生异常的的语句块,如可能出现异常的函数,也可以是一般的程序语句;catch(){……}用于抓住异常,(Exception e)中Exception是异常的类型,必须是Exception(Exception是所有异常类的父类)的子类。{}定义当出现异常时的处理方法。finally{……}表示不管异常是否发生,都得进行finally{}中的处理。


在捕捉异常的try{...}语句块中,如果出现了异常,则该语句(出现异常的语句)后的程序语句都不执行,而是跳到catch{...}语句块中执行异常的处理。如:

public static void function1() throws NumberFormatException{  
        System.out.println(Double.parseDouble("abc"));  
          
    }  
  
    public static void main(String[] args) {  
        try {  
            function1();  
        } catch (Exception e) {  
            System.err.println(e.getMessage());  
            e.printStackTrace();  
        }  
}  


4,常见异常

 

注意:抛异常的时候先抛Exception父类的子类,然后再抛exception。




  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值