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

    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);
        }
    }
  • 相关阅读:
    天下大事必作于细,天下难事必作于易
    mybatis 配置 log4j 日志
    org/w3c/dom/ElementTraversal 错误解决办法
    naoting
    FreeMarker 生成Java、mybatis文件
    在mysql数据库中创建oracle scott用户的四个表及插入初始化数据
    音视频编码格式汇总
    java 二进制数字符串转换工具类
    Linux nohup 命令
    Linux & 命令
  • 原文地址:https://www.cnblogs.com/qingyundian/p/8283490.html
Copyright © 2011-2022 走看看