package com.gezhi;
/**
 * 创建一个自定义异常SpendMoneyException类
 *
 * @author square 凉
 *
 */
@SuppressWarnings("serial")
/**
 * 该类继承异常类的父类Exception
 *
 * @author square 凉
 *
 */
public class SpendMoneyException extends Exception {
 /**
  * 显示写出自定义异常的无参构造器
  */
 public SpendMoneyException() {
 }
 /**
  * 创建一个自定义异常的有参构造器(重写父类的有参构造,严格来说不能是重写)
  *
  * @param message
  */
 public SpendMoneyException(String message) {
  super(message);
 }
}
...................................................................................
package com.gezhi;
/**
 * @ 创建一个异常类
 * @author square 凉
 *
 */
public class ChainTest {
 /**
  * main方法调用test2这个方法,捕获并处理被抛出的方法
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  ChainTest ct = new ChainTest();//实例化一个类对象
  try {
   ct.test2();//调用test2()这个方法
  } catch (Exception e) {
   // TODO: handle exception
   e.printStackTrace();//捕获这个异常并打印异常发生的位置
  }
  
 }
 /**
  * 创建test2()这个方法引用test1的方法并捕获异常且不处理,继续抛给main方法
  */
 private void test2() {
  // TODO Auto-generated method stub
  try {
   test1();//调用test1方法
  } catch (SpendMoneyException e) {
   // TODO Auto-generated catch block
   RuntimeException rn = new RuntimeException("一分钱一分货");//将test1里面抛出的自定义异常又声明为运行时异常继续抛出
   rn.initCause(e);//引起该运行时异常的原因和异常地址
   throw rn;//抛出新的异常
  }
 }
 /**
  * test1方法声明一个自定义异常
  * @throws SpendMoneyExceptionSpendMoneyException不处理继续向下抛出
  */
 private static void test1() throws SpendMoneyException {
  // TODO Auto-generated method stub
  throw new SpendMoneyException("没钱啦!!!");
  
 }
}
......................

Java中异常的处理以及自定义异常,抛出异常到方法调用栈底层的更多相关文章

  1. Java中异常关键字throw和throws使用方式的理解

    Java中应用程序在非正常的情况下停止运行主要包含两种方式: Error 和 Exception ,像我们熟知的 OutOfMemoryError 和 IndexOutOfBoundsExceptio ...

  2. 浅谈java中异常抛出后代码是否会继续执行

    问题 今天遇到一个问题,在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢? public void add(int index, E element) ...

  3. java中异常的抛出:throw throws

    java中异常的抛出:throw throws Java中的异常抛出 语法: public class ExceptionTest{ public void 方法名(参数列表) throws 异常列表 ...

  4. java中异常以及处理异常

    一.异常简介 什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错.在java中,阻止当前方法或作用域的情况,称之为异常. java中异常的体系是怎么样的呢? 1.Java中的所有不正常类都 ...

  5. 《java中异常和错误》

    异常和错误的区别. 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发 ...

  6. java中异常介绍

    一.异常概述 异常处理已经成为衡量一门语言是否成熟的标准之一,目前的主流编程语言如C++.C#.Ruby.Python等,大都提供了异常处理机制.增加了异常处理机制后的程序有更好的容错性,更加健壮. ...

  7. [转载]Java中异常的捕获顺序(多个catch)

    http://blog.sina.com.cn/s/blog_6b022bc60101cdbv.html [转载]Java中异常的捕获顺序(多个catch) (2012-11-05 09:47:28) ...

  8. Java中的关键字有哪些?「Java中53个关键字的意义及使用方法」

    Java中的关键字有哪些? 1)48个关键字:abstract.assert.boolean.break.byte.case.catch.char.class.continue.default.do. ...

  9. Java中返回值定义为int类型的 方法return 1返回的是int还是Integer&&finally中return问题

    在Java中返回值定义为int类型的 方法return 1:中返回的是Integer值,在返回的时候基本类型值1被封装为Integer类型. 定义一个Test类,在异常处理try中和finally中分 ...

随机推荐

  1. ****微信小程序架构解析

    | 导语   微信小程序的公测掀起了学习小程序开发的浪潮,天生跨平台,即用即走.媲美原生体验.完善的文档.高效的开发框架,小程序给开发者带来了很多惊喜.通过这篇文章和大家一起分析小程序的架构,分享开发 ...

  2. vue小白必看的生命钩子函数图解

    还有3个钩子并未出现在图上: 1.activated生命周期钩子函数在keep-alive 组件激活时调用,该钩子在服务器端渲染期间不被调用. 2.deactivated生命周期钩子函数在keep-a ...

  3. android studio 开发免安装的app之目录结构

    尚未深入分析,暂且外链到我看到的,对此有帮助的博客,在此,感谢你们. 1.https://blog.csdn.net/tscyds/article/details/74331085 2.https:/ ...

  4. python3中列表、元组、字典的增删改查说明详解

    python基础中的列表.元组.字典属于python中内置的序列数据结构.其中序列可以进行的操作包括索引.截取(切片).加.乘.成员检查等. 1.列表 列表(list)是最常用的python数据类型之 ...

  5. Y1S001 ubuntu下samba安装配置以及使用vbs映射到驱动器

    我这边安装samba只用了两步 第一步 sudo apt-get install samba 第二步 sudo vi /etc/samba/smb.conf 主要修改点如下,去掉注释或者修改=右边的值 ...

  6. Windows本地代码仓库使用连接教程

    目录 软件安装 修改语言为中文 克隆远程仓库 文件上传教程 软件安装 安装Git(软件下载链接) 根据自己的系统选择对应版本下载安装 安装TortoiseGit(软件下载链接) 1.下载完毕解压文件夹 ...

  7. ios 上下滑动粘滞问题

    ios 移动端,当你触及到可以左右滑动部分,进行上下滑动操作时,会导致上下滑动粘滞卡顿的问题 mdn:https://developer.mozilla.org/zh-CN/docs/Web/CSS/ ...

  8. Hashlib加密,内置函数,安装操作数据库

    hashlib模块的md5加密: md5同样的内容加密后是一样的 md5加密后是不可逆的.即能加密,没办法解密. 撞库: 只是针对简单的,因为同样的内容加密后是一样的,难一点就不行了. 登录密码:注册 ...

  9. FCC学习笔记(一)

    除了像素,你还可以使用百分比来指定border-radius边框半径的值. 给你的猫咪图片一个50%的border-radius. a元素,也叫anchor(锚点)元素,既可以用来链接到外部地址实现页 ...

  10. hadoop2-MapReduce详解

    本文是对Hadoop2.2.0版本的MapReduce进行详细讲解.请大家要注意版本,因为Hadoop的不同版本,源码可能是不同的. 以下是本文的大纲: 1.获取源码2.WordCount案例分析3. ...