zoukankan      html  css  js  c++  java
  • Java(26):异常

    package yichang;
    
    /*
     * https://www.cnblogs.com/hysum/p/7112011.html
     * */
    
    public class Demo1 {
    
        public static void main(String[] args) {
            
            Demo1 t1 = new Demo1();
            System.out.println(t1.test1());
            
        }
        
        public int test1() {
            int divider = 10;
            int result = 100;
            
            try {
                while (divider > -1) {
                    divider--;
                    result = result + 100/divider;
                }
                return result;
            }catch(Exception e) {
                e.printStackTrace();
                System.out.println("异常抛出!");
                return -1;
            }
        }
    }
    package yichang;
    
    public class Demo2 {
    
        public int test2() {
            int divider = 10;
            int result = 100;
            
            try {
                while(divider > -1) {
                    divider--;
                    result = result + 100/divider;
                }
                return result;
            }catch(Exception e) {
                e.printStackTrace();
                System.out.println("异常抛出!");
                return result = 999;
            }finally {
                System.out.println("finally");
                System.out.println("result = "+result);
            }
        }
        
        public static void main(String[] args) {
            
            Demo2 t2 = new Demo2();
            t2.test2();
            System.out.println("end.");
            
        }
        
    }
    package yichang;
    
    public class Demo3 {
    
        public static void main(String[] args) {
            
            String s = "abc";
            if (s.equals("abc")) {
                throw new NumberFormatException();
            }else {
                System.out.println(s);
            }
            
            System.out.println("main end.");
        }
        
    }
    package yichang;
    
    public class Demo4 {
        
        public static void function() throws NumberFormatException {
            String s = "abc";
            System.out.println(Double.parseDouble(s));
        }
    
        public static void main(String[] args) {
            
            try {
                function();
            }catch(NumberFormatException e) {
                System.out.println("非数据类型不能转换");
            }
            
            System.out.println("main end.");
        }
        
    }
    package yichang;
    
    /*
     * 自定义异常抛出信息
     * 
     * */
    
    public class Demo5 extends Exception {
    
        private String errorCode;
        
        public Demo5() {
            System.out.println("demo5()...");
        }
        public Demo5(String message) {
            super(message);
            System.out.println("demo5(String)...");
        }
        
        public String getErrorCode() {
            return errorCode;
        }
        
        public void setErrorCode(String errorCode) {
            this.errorCode = errorCode;
        }
        
        public static void main(String[] args) {
            
            String[] sexs = {"male", "female", "neutral"};
            for(int i=0; i<sexs.length; i++) {
                if ("neutral".equals(sexs[i])) {
                    try {
                        throw new Demo5("不存在中性人");
                    }catch(Demo5 e) {
                        e.printStackTrace();
                    }
                }else {
                    System.out.println(sexs[i]);
                }
            }
        }
    }
    package yichang;
    
    public class Demo6 {
    
        public void test1() throws RuntimeException {
            String[] sexs = {"male", "female", "neutral"};
            for (int i=0; i<sexs.length; i++) {
                if ("neutral".equals(sexs[i])) {
                    try {
                        throw new Demo5("不存在中性人");
                    }catch(Demo5 e) {
                        e.printStackTrace();
                        RuntimeException rte = new RuntimeException(e);
                        throw rte;
                    }
                }else {
                    System.out.println(sexs[i]);
                }
            }
            
        }
        
        public static void main(String[] args) {
            
            Demo6 m = new Demo6();
            
            try {
                m.test1();
            }catch(Exception e) {
                e.printStackTrace();
                e.getCause();
            }
            
        }
        
    }
  • 相关阅读:
    [Web] 网络安全(SSH SSL HTTPS)
    [OS] 操作系统课程(三)
    [刷题] 203 Remove Linked List Elements
    [刷题] 206 Reverse Linked List
    for循环中let与var的区别,块级作用域如何产生与迭代中变量i如何记忆上一步的猜想
    es6入门1-- let与var的区别详解
    精读JavaScript模式(八),JS类式继承与现代继承模式其一
    精读JavaScript模式(七),命名空间模式,私有成员与静态成员
    精读JavaScript模式(六),Memoization模式与函数柯里化的应用
    精读JavaScript模式(五),函数的回调、闭包与重写模式
  • 原文地址:https://www.cnblogs.com/kenantongxue/p/14118362.html
Copyright © 2011-2022 走看看