Java异常与异常处理

来源:互联网 发布:c语言编译器初学者 编辑:程序博客网 时间:2024/05/01 08:31
  • 基本异常捕获
package com.javase;import java.util.Scanner;public class tryCatch {    public static void main(String[] args) {        // TODO Auto-generated method stub        try {            int i = 1 / 0;        } catch (Exception e) {            // TODO: handle exception            e.printStackTrace();            System.out.println("除数不能为零");        }final{            System.out.println("这句总会输出的");        }    }}
  • 简单的自定义构造器
package com.javase;public class drinkException extends Exception {    // 无参构造器    public drinkException() {    }    // 自定义构造函数,调用父类输出语句    public drinkException(String message) {        super(message);    }}
  • 异常链
package com.javase;public class chain {    public static void main(String[] args) {        // TODO Auto-generated method stub        try {            test2();        } catch (Exception e) {            // TODO: handle exception            e.printStackTrace();// 打印捕获到的异常        }    }    public static void test1() throws drinkException {        throw new drinkException("第一层异常"); // 注意两个thow的区别以及抛出异常的方式    }    public static void test2() {        try {            test1();        } catch (drinkException e) {            // TODO: handle exception            // 创建一份个异常抛出            RuntimeException exo = new RuntimeException(e); // 异常原因是e            throw exo; // 抛出这个异常        }    }}
//输出java.lang.RuntimeException: com.javase.drinkException: 第一层异常    at com.javase.chain.test2(chain.java:25)    at com.javase.chain.main(chain.java:8)Caused by: com.javase.drinkException: 第一层异常    at com.javase.chain.test1(chain.java:17)    at com.javase.chain.test2(chain.java:21)    ... 1 more
0 0
原创粉丝点击