异常处理

                                               java使用 try catch捕获异常 

                                  try{ 

                                 //业务实现代码 

                                                ... 

                                    }

                                    catch(Exception e) 

                                           alert 输入不合法 goto retry

                                       } 

                                         访问异常信息 :如果需要在catch块中访问异常信息,可通过访问catch块后的异常参数来获得。当java运行时决定调用某个catch块来处理异常对象时,会将异常对象赋给catch块后的异常参数。 

                       异常对象包含几个常用方法: getMessage() 返回异常的详细信息描述字符串 。

                                                                            printStackTrace() 将该异常的跟踪栈信息输出到标准错误输出。

                                                                            printStackTrace( PrintSream s):   将该异常的跟踪栈信息输出到指定输出流

、                                                                       getStackTrace(): 返回该异常的跟踪栈信息

                 2:异常处理机制提供了finally块。不管try块中的代码是否出现异常,也不管哪个catch块被执行,甚至在catch块中执行了return 语句  finally块总会执行

                3:Checked异常和Runtime 异常

                     checked异常时可以被处理(修复的异常)所以java程序必须显示处理checked异常。checked异常(没有完善错误处理的代码根本不会执行)

                    

   使用throws声明抛出异常:当前方法不知道如何处理这种类型的异常 该异常由上一级调用者处理,如果main 方法也不知道如何处理这种类型的异常

 将该异常交给JVM处理:打印跟踪栈信息 并终止程序运行

  throw语句抛出的不是   异常类   而是一个异常实例              

                                     

package com.card.entity;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.*;
public class Demo {
    public static void main(String []args)throws Exception{
     
//        try{
//           int a=Integer.parseInt(args[0]);
//           int b=Integer.parseInt(args[1]);
//         int c=a/b;
//           System.out.println("----result"+c);
//       } catch(IndexOutOfBoundsException|NumberFormatException|ArithmeticException ie){
//
//System.out.println(" 3 format error");
//        }catch(Exception e){
//System.out.println(" unknown error");
//}
//Date d=null;
//try{
//System.out.println(d.after(new Date()));
//}catch(NullPointerException e){
//System.out.println("  error");
//}catch(Exception er){
//System.out.println(" unknown error");
//}
//        FileInputStream fis=null;
//        try{
//         fis=new FileInputStream("a.txt");
//        }catch(IOException ioe){
//            System.out.println(ioe.getMessage());
//            return ;
//
//        } finally {
//            if(fis!=null){
//                try{
//                    fis.close();
//                }catch(IOException ioe){
//                    ioe.printStackTrace();
//                }
//            }
//            System.out.println("将执行finally块");
//        }
        boolean a=test();
   System.out.println(a);

    }
    public static boolean test(){
        try{
            return true;
        }finally {
          return false;
        }
    }

}
                               

                                                                      

                                                            

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值