• 捕获和抛出异常


    捕获和抛出异常

    • 抛出异常

    • 捕获异常

    • 异常处理五个关键字

      • try、catch、finally、throw、throws(在方法中使用)

    代码如下

    public class Test {
    
        public static void main(String[] args) {
            try {
                new Test().test(1,0);
            } catch (Exception e) {
                e.printStackTrace();
            }
            int a = 1;
            int b = 0;
    
            //假设要捕获多个异常: 从小到大!
    
            try { //try监控区域
    
                if (b==0){  //主动地抛出异常 throw throws
                    throw new ArithmeticException();    //主动地抛出异常
                }
    
                System.out.println(a/b);
                //new Test().a();
    
    
    
            }catch (/*ArithmeticException*/Error e){ //catch(想要捕获的异常类型!) 捕获异常
                System.out.println("程序出现异常,变量b不能为0");
            }catch (Exception e){
                System.out.println("Exception");
            }catch (Throwable t){//最大的异常写在最后面
                System.out.println("Throwable");
            } finally { //处理善后工作
                System.out.println("finally");
            }
    
            //finally 可以不要finally,假设IO,资源,关闭操作!
    
        }
    
    //    public void a(){
    //        b();
    //    }
    //    public void b(){
    //        a();
    //    }
    
        //假设在方法中,处理不了这个异常,方法上抛出异常
        public void test(int a,int b) throws ArithmeticException{
            if (b==0){  //主动地抛出异常 throw throws
                throw new ArithmeticException();    //主动地抛出异常,一般在方法中使用
            }
            System.out.println(a/b);
        }
    }
    
    public class Test2 {
        public static void main(String[] args) {
            int a = 1;
            int b = 0;
    
            //Ctrl  Alt + T
            try {
                System.out.println(a/b);
            } catch (Exception e) {
                e.printStackTrace(); //打印错误的栈信息
            } finally {
            }
        }
    }
    
  • 相关阅读:
    iOS开发多线程篇 03 —线程安全
    【Objective-C】01-Objective-C概述
    insert小细节,大问题
    高速修复汉澳sinox命令解释程序bash shell漏洞
    load-on-startup 解释
    研究下JavaScript中的Rest參数和參数默认值
    UVALive 6530 Football (水
    Android多线程分析之五:使用AsyncTask异步下载图像
    POJ2407_Relatives【欧拉phi函数】【基本】
    cocos2d-x 下使用加密 sqlite3
  • 原文地址:https://www.cnblogs.com/helloxiaolu/p/13297751.html
Copyright © 2020-2023  润新知