• 异常


    public class 处理Exception {
        public static void main(String []ages){
    
        //产生异常
        
        //除0异常
        
        //1.捕获
        
        try
        {
        //int i=12/0;
        //int 出现了异常直接跳到catch
        
        String a=null;
    //    a.length();
        
        //打开一些资源
        String s=" ";
        System.out.println("打开资源");
            
        //使用
        System.out.println("使用资源");
        //如果在使用中出现异常
        a.length();
        
        //关闭资源并释放
        //可能不被执行,放入finall里
        //System.out.println("希望一定要执行的关闭资源,释放内存代码");
        
        }
        
        catch(ArithmeticException ex){
            //针对特定的异常进行特别的处理
            //除0;
            System.out.println("捕获了ArithmeticException的异常");
            //获取异常信息
            String str= ex.getMessage();
            
            //处理方式显示;记录日志
            System.out.println("异常信息="+str);
            
            //把异常详细信息输出到控制台
            ex.printStackTrace();
            
            System.out.println();
        }
        
        catch(NullPointerException ex){
            //针对特定的异常进行特别的处理
            //空值
            System.out.println("捕获了NullPointerException的异常");
            //获取异常信息
            String str= ex.getMessage();
            
            //处理方式显示;记录日志
            System.out.println("异常信息="+str);
            
            //把异常详细信息输出到控制台
            ex.printStackTrace();
            
            System.out.println();
        }
        
        //兜底
        catch(Exception ex){
            //针对特定的异常进行特别的处理
            
            System.out.println("捕获了Exception的异常");
            
            //获取异常信息
            String str= ex.getMessage();
            
            //处理方式显示;记录日志
            System.out.println("异常信息="+str);
            
            //把异常详细信息输出到控制台
            ex.printStackTrace();
            
            System.out.println();
        }
        
        finally//一定会被执行的代码
        {
            
            System.out.println("希望一定要执行的关闭资源,释放内存代码");
        }
        
        System.out.println("程序还在走");
        
        //即使发生异常也会执行finally
    //    try{int i=12/0;}
    //    finally{
    //        System.out.println("hehe");
    //    }
        
        
        }
    public class MyThrow {
        
        //把 throws放在方法的后面 特别声明有可能出现的异常
        //方法本身不处理,交给调用者处理
        //抛出异常,显示给使用者错误的原因
        public int chu(int a,int b)throws Exception
        
        {   if(b==0){
            Exception e=new Exception("b输入错误");
            throw  e;
        }
            return a/b;
        }
        
        //自己定义异常
        public void test() throws Exception{
            
            //自己定义
            Exception e=new Exception("我自定义的异常信息");
            throw  e;
        }
        
        
        
         public static void main(String []ages) throws Exception 
         //main方法里需要解决问题而不是抛出
         {
            
             MyThrow a=new MyThrow();
            
    //         try {
    //            a.chu(10, 0);
    //        }
    //         catch (Exception e) {
    //            // TODO 自动生成的 catch 块
    //            //e.printStackTrace();
    //            System.out.println("我捕获了类常"+e.getMessage());
    //            
    //            throw e;//处理后抛出异常
    //        }
             
             
             //运行自定义的错误信息
            try{a.test();}
            
            catch(Exception e){
             System.out.println(e.getMessage());
             }
             
             a.chu(10, 0);
             
             System.out.println("结束了");
             
        }
  • 相关阅读:
    数据操作-对数据的增删改查-单表查询和多表查询
    爬虫从入门到放弃
    爬虫从入门到放弃
    创建表的完整语法及表之间的关系
    树链剖分练习总结
    [BZOJ]1984: 月下“毛景树”
    [BZOJ]2243: [SDOI2011]染色
    [BZOJ]4034: [HAOI2015]树上操作
    NOIP2012题解
    CODEVS4633 [Mz]树链剖分练习
  • 原文地址:https://www.cnblogs.com/storm47/p/5274503.html
Copyright © 2020-2023  润新知