Java-异常初步练习
案例一:
package com.esandinfo; /**
* 自定义一个Exception类
*/
class MyCustomException extends RuntimeException { private String name; MyCustomException(String name, int falg) {
this(name);
} MyCustomException(String name) {
this.name = name;
} public String getName() {return name;}
} /**
* 我现在去使用 刚刚自定义的Exception类
*/
class MyUtils { public void doAction(String name) throws MyCustomException { // 需要在这里注意:,异常的抛出,好让main方法处理
if ("史珍香".equals(name)) {
throw new MyCustomException("兄弟,史珍香他报错了,你去处理异常吧!!!!", 0001);
} else if ("李狗蛋".equals(name)) {
throw new MyCustomException("兄弟,李狗蛋他奔溃了,你去处理异常吧!!!!", 0002);
} else {
throw new MyCustomException("未知异常,你去处理异常吧!!!!", -1000);
}
// .... 以后还需要定义异常,可以往下面加
} } public class MyTest { public static void main(String[] args) {
try {
new MyUtils().doAction("史珍香");
new MyUtils().doAction("李狗蛋"); // 不会执行了,因为第一个方法已经被捕获了,进入了 catch
new MyUtils().doAction(null);
} catch (MyCustomException e) {
// 打印捕获到的异常
System.out.println(e.getName());
}
} }
执行结果:

案例二:
package com.esandinfo; /**
* 自定义一个Exception类,专门计算 【加法】 以后你可以增加为: 加减乘除
*/
class MyException extends RuntimeException { private int result; // 这是计算后的结果值 MyException(int value1, int value2) {
result = value1 + value2;
} public int getResult() {return this.result;}
} /**
* 我现在去使用 刚刚自定义的MyException类
*/
class Utils { public void doAction(int value1, int value2) throws MyException { // 需要在这里注意:,异常的抛出,好让main方法处理
throw new MyException(value1, value2);
// .... 以后还需要定义异常,可以往下面加
} } public class MyCount {
public static void main(String[] args) {
try {
// 我现在调用 上面的Utils中的方法,就是为了捕获 Utils-->doAction方法丢出的异常
new Utils().doAction(1000, 1000);
} catch (MyException e) {
System.out.println(e.getResult()); // 打印得到的 Utils-->doAction 方法丢出的异常
}
}
}
执行结果:

Java-异常初步练习的更多相关文章
- JAVA异常初步
1,1个图.Throwable是所有异常类的老祖宗,万恶之源.Error正常是系统级错误,控制不了,Exception类又分RuntimeException及别的异常,RuntimeException ...
- 浅谈java异常[Exception]
学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:589809992 我们一起学Java! 一. 异常的定义 在<java编程思想 ...
- 基础知识《十》java 异常捕捉 ( try catch finally ) 你真的掌握了吗?
本文转载自 java 异常捕捉 ( try catch finally ) 你真的掌握了吗? 前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理 ...
- Java异常体系及分类
上图是基本的java异常体系结构. 主要分为2大类:Error和Exception 1.Error:描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对象,一般是由虚拟 ...
- Java异常之自定义异常
哎呀,妈呀,又出异常了!俗话说:"代码虐我千百遍,我待代码如初恋". 小Alan最近一直在忙着工作,已经很久没有写写东西来加深自己的理解了,今天来跟大家聊聊Java异常.Java异 ...
- 第11章 Java异常与异常处理
1.Java异常简介 1.什么是异常异常出现的时候代码会无法正常运行下去,会产生各种问题2.捕捉异常的作用提早发现异常,方便查找问题,并给出解决方法3.Java中的异常1.Java中所有不正常的类都是 ...
- java 异常
1.java异常 2.自定义抛出 3.运行时异常,程序有问题,让使用者可以改' ' 4.return 和 throw的区别 return 符合函数要求的值 throw 有问题的时候用它结束 ...
- 3.Java异常进阶
3.JAVA异常进阶 1.Run函数中抛出的异常 1.run函数不会抛出异常 2.run函数的异常会交给UncaughtExceptionhandler处理 3.默认的UncaughtExceptio ...
- 2.Java异常学习
1.Java异常的概念 异常的例子 1.除法就是一个需要捕获异常的例子,除数又可能是0 异常处理的基本流程如下 一旦发生异常,就使得程序不按照原来的流程继续的运行下去 a.程序抛出异常 try{ th ...
- java异常架构图 和几个面试题
1.java异常架构图 粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被 ...
随机推荐
- pandas和re中正则表达式的意思
这里()有两种意思,第一个就是表示匹配范围,另外一个就是输出这个匹配 下面那条语句就是告诉程序,是输出整个句子,“?:”非获取匹配,匹配冒号后的内容但不获取匹配结果,不进行存储供以后使用.
- 使用Spring Cache缓存出现的小失误
前文:今天在使用Spring Boot项目使用Cache中出现的小失误,那先将自己创建项目的过程摆出来 1.首先创建一个Spring Boot的项目(我这里使用的开发工具是Intellij IDEA) ...
- ASP.NET Core 添加NLog日志支持(VS2015update3&VS2017)
1.创建一个新的ASP.NET Core项目 2.添加项目依赖 NLog.Web.AspNetCore 3.在项目目录下添加nlog.config文件: <?xml version=" ...
- android 自定义title
package com.xiangyu.su; import android.app.Activity; import android.os.Bundle; import android.view.V ...
- WebService CXF知识总结
2018-10-23 <wsdl:service name="Iptv3aBasicService"> 客户端client信息,CXF会生成一个名为Iptv3ABasi ...
- django2.0 + python3.6 在centos7 下部署生产环境的一些注意事项
一:mysql 与环境选用的坑 目前, 在生产环境部署django有三种方式: 1. apache + mod_wsgi 2. nginx + uwsigi 3. nginx + supervisor ...
- Nexus 3 搭建 npm 私服 (windows)
Nexus 3 搭建 npm 私服备忘 下载与安装 在官网下载Nexus Repository Manager OSS 3.x, 解压至任意位置. 管理员运行 powershell, 切换到 nexu ...
- 【转】TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端
[转]TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端).UDP客户端 目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP ...
- H5新特性-canvas绘图--渐变对象路径(最复杂)--图片--变形操作
今天的目标 3.1:canvas绘图--(重点掌握:渐变对象.路径.图片.变形) 3.2:canvas绘图--渐变对象 线性渐变: linearGradient 径向渐变: var g = ctx.c ...
- Swift 加载 xib 崩溃问题
新版本用 Swift开发 遇到的坑 解决方法