zoukankan      html  css  js  c++  java
  • Java异常处理

    !

    package com.exception;
    
    public class Test {
    
        public static void main(String[] args) {
    
            int a = 1;
            int b = 0;
    
            try{ //try监控区域
                System.out.println(a/b);
            }catch (ArithmeticException e){ //catch 捕获异常
                System.out.println("程序出现异常:变量b不能为0");
            }finally { //处理善后工作
                System.out.println("finally");
            }
    
            //finally 可以不要finally,一般用于 IO,资源,关闭
    
        }
    
    }
    
    package com.exception;
    
    public class Test {
    
        public static void main(String[] args) {
    
            int a = 1;
            int b = 0;
    
            //假设要捕获多个异常:从小到大
    
            try{ //try监控区域
                new Test().a();
            }catch (Error e){ //catch(想要捕获的异常类型) 捕获异常
                System.out.println("Error");
            }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();
        }
    }
    
    package com.exception;
    
    public class Test02 {
        public static void main(String[] args) {
            int a = 1;
            int b = 0;
    
            // Ctrl + Alt + T 快速创建异常处理
            try {
                System.out.println(a/b);
            } catch (Exception e) {
    //            System.exit(1); //结束程序
                e.printStackTrace(); //打印错误的栈信息
            } finally {
    
            }
        }
    
    }
    
    package com.exception;
    
    public class Test {
    
        public static void main(String[] args) {
    
            int a = 1;
            int b = 0;
    
            //假设要捕获多个异常:从小到大
    
            try{ //try监控区域
    
                if (b==0){ //主动抛出异常  throw  throws
                    throw new ArithmeticException(); //主动抛出一个异常
                }
    
                System.out.println(a/b);
    
            }catch (Error e){ //catch(想要捕获的异常类型) 捕获异常
                System.out.println("Error");
            }catch (Exception e){
                System.out.println("Exception");
            }catch (Throwable t){
                System.out.println("Throwable");
            }finally { //处理善后工作
                System.out.println("finally");
            }
    
            //finally 可以不要finally,一般用于 IO,资源,关闭
    
        }
    
    }
    
    package com.exception;
    
    public class Test {
    
        public static void main(String[] args) {
    
            try {
                new Test().test(1,0);
            } catch (ArithmeticException e) {
                e.printStackTrace();
            }
    
        }
    
        //假设这个方法中,处理不了这个异常。方法上抛出异常
        public void test(int a,int b) throws ArithmeticException{
            if (b==0){ //主动抛出异常  throw  throws
                throw new ArithmeticException(); //主动抛出异常,一般在方法中使用
            }
        }
    
    }
    

    package com.exception.demo02;
    
    //自定义的异常类
    public class MyException extends Exception{
    
        //传递数字 > 10;
        private int detail;
    
        public MyException(int a) {
            this.detail = a;
        }
    
        //toString:异常的打印信息
    
        @Override
        public String toString() {
            return "MyException{" + detail + '}';
        }
    }
    
    package com.exception.demo02;
    
    public class Test {
    
        //可能会存在异常的方法
    
        static void test(int a) throws MyException {
    
            System.out.println("传递的参数为:"+a);
            if (a>10){
                throw new MyException(a); //抛出
            }
            System.out.println("OK");
    
        }
    
        public static void main(String[] args) {
            try {
                test(11);
            } catch (MyException e) {
    //            e.printStackTrace();
                //增加一些处理异常的代码
                System.out.println("MyException=>"+e);
            }
        }
    
    }
    

  • 相关阅读:
    蓝桥杯 算法训练 最大的算式
    hdu 5389 Zero Escape
    hdu 2577 How to Type
    java设计模式之命令模式
    java设计模式之策略模式
    Java四种引用包括强引用,软引用,弱引用,虚引用
    Java 面试参考指南 — 同步
    Java面试通关要点
    基于注解的 Spring MVC(上)
    69道Spring面试题和答案
  • 原文地址:https://www.cnblogs.com/Notesdata/p/14170712.html
Copyright © 2011-2022 走看看