java中异常处理机制 throw抛出自定义业务逻辑异常 throws继续抛出 catch捕获后会自动继续抛向调用方法

2018-01-14 19:07:00来源:cnblogs.com作者:Advancing-Swift人点击

分享
package com.swift;public class Exception_TestC {    public static void main(String[] args) {        /*         * 第5题: 有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,此方法抛出异常,在ClassA类中有一个         * 方法a,请在这个方法中调用b,然后抛出异常。在客户端有一个类为TestC,有一个方法为c ,请在这个方法中捕 捉异常的信息。Java异常的处理机制         *          * 如果try或catch中有return,执行try catch finally return,catch的执行看try中是否真有异常          * throw是抛出异常 throws是声明异常,throw用于方法体中,用来抛出一个实际的异常对象,使用throw后,要么使用try         * catch捕获异常,要么使用throws声明异常 catch中可以再次throw抛出异常,以便调用其方法再次捕获并处理         * 自定义异常用于标记业务逻辑的异常,避免与标准异常混淆         */        new TestC().c();    }}class A {    public void a() throws Exception {        new B().b();    }}class B {    public void b() {        try {            int a = -1;            if (a < 0) {                throw new MyException("B....不能使用负数..throw by ClassB.methodB");            }        } catch (MyException e) {            e.printStackTrace();        }    }}class TestC{        public void c() {        try {            new A().a();        } catch (Exception e) {            e.printStackTrace();        }    }}class MyException extends Exception {    public MyException(String msg) {        super(msg);    }}

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台