Java中异常的处理以及自定义异常,抛出异常到方法调用栈底层
* 创建一个自定义异常SpendMoneyException类
*
* @author square 凉
*
*/
@SuppressWarnings("serial")
/**
* 该类继承异常类的父类Exception
*
* @author square 凉
*
*/
public class SpendMoneyException extends Exception {
* 显示写出自定义异常的无参构造器
*/
public SpendMoneyException() {
* 创建一个自定义异常的有参构造器(重写父类的有参构造,严格来说不能是重写)
*
* @param message
*/
public SpendMoneyException(String message) {
super(message);
/**
* @ 创建一个异常类
* @author square 凉
*
*/
public class ChainTest {
* main方法调用test2这个方法,捕获并处理被抛出的方法
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
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中异常的处理以及自定义异常,抛出异常到方法调用栈底层的更多相关文章
- Java中异常关键字throw和throws使用方式的理解
Java中应用程序在非正常的情况下停止运行主要包含两种方式: Error 和 Exception ,像我们熟知的 OutOfMemoryError 和 IndexOutOfBoundsExceptio ...
- 浅谈java中异常抛出后代码是否会继续执行
问题 今天遇到一个问题,在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢? public void add(int index, E element) ...
- java中异常的抛出:throw throws
java中异常的抛出:throw throws Java中的异常抛出 语法: public class ExceptionTest{ public void 方法名(参数列表) throws 异常列表 ...
- java中异常以及处理异常
一.异常简介 什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错.在java中,阻止当前方法或作用域的情况,称之为异常. java中异常的体系是怎么样的呢? 1.Java中的所有不正常类都 ...
- 《java中异常和错误》
异常和错误的区别. 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发 ...
- java中异常介绍
一.异常概述 异常处理已经成为衡量一门语言是否成熟的标准之一,目前的主流编程语言如C++.C#.Ruby.Python等,大都提供了异常处理机制.增加了异常处理机制后的程序有更好的容错性,更加健壮. ...
- [转载]Java中异常的捕获顺序(多个catch)
http://blog.sina.com.cn/s/blog_6b022bc60101cdbv.html [转载]Java中异常的捕获顺序(多个catch) (2012-11-05 09:47:28) ...
- Java中的关键字有哪些?「Java中53个关键字的意义及使用方法」
Java中的关键字有哪些? 1)48个关键字:abstract.assert.boolean.break.byte.case.catch.char.class.continue.default.do. ...
- Java中返回值定义为int类型的 方法return 1返回的是int还是Integer&&finally中return问题
在Java中返回值定义为int类型的 方法return 1:中返回的是Integer值,在返回的时候基本类型值1被封装为Integer类型. 定义一个Test类,在异常处理try中和finally中分 ...
随机推荐
- Spark2.0.0内存管理
来源:http://spark.apache.org/docs/2.0.0/configuration.html spark中的内存使用主要分为两类:执行和存储.执行内存指的是用于shuffles.j ...
- 【转】Android开发规范
转自:https://github.com/Blankj/AndroidStandardDevelop 摘要 1 前言 2 AS 规范 3 命名规范 4 代码样式规范 5 资源文件规范 6 版本统一规 ...
- 【webpack系列】从零搭建 webpack4+react 脚手架(五)
本章节,我们一起来探讨以下问题:如何对编译后的文件进行gzip压缩,如何让开发环境的控制台输出更加高逼格,如何更好的对编译后的文件进行bundle分析等. 1 gzip压缩 如果你想节省带宽提高网站速 ...
- disconf使用小结
disconf使用小结 目前我们公司用的分布式配置中心是disconf,对于普通的spring项目集成还是比较方便,主要功能点分布式配置还有配置的动态更新通知 安装disconf服务端 参考地址htt ...
- Hadoop HDFS安装、环境配置
hadoop安装 进入Xftp将hadoop-2.7.3.tar.gz 复制到自己的虚拟机系统下的放软件的地方,我的是/soft/software 在虚拟机系统装软件文件里,进行解压缩并重命名 进入p ...
- Interpreting NotifyCollectionChangedEventArgs zz
If you’ve ever consumed INotifyCollectionChanged.CollectionChanged, then you’ve run into some inadeq ...
- springboot添加多数据源连接池并配置Mybatis
springboot添加多数据源连接池并配置Mybatis 转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9190226.html May 12, 2018 ...
- IEnumerabl 和 IEnumertator
public interface IEnumerable { IEnumerator GetEnumerator(); } IEnumerator 接口 public inte ...
- 2018-2019-20175324实验一《Java开发环境的熟悉》实验报告
2018-2019-20175324实验一<Java开发环境的熟悉>实验报告 实验内容与结果 一.Java开发环境的熟悉-1 1.实验要求: 0 参考实验要求 1 建立“自己学号exp ...
- linux学习:curl与netcat用法整理
CURL 语法: curl [option] [url] 常用参数:-A/--user-agent <string> 设置用户代理发送给服务器-b/--cookie <name=st ...