案例一:

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-异常初步练习的更多相关文章

  1. JAVA异常初步

    1,1个图.Throwable是所有异常类的老祖宗,万恶之源.Error正常是系统级错误,控制不了,Exception类又分RuntimeException及别的异常,RuntimeException ...

  2. 浅谈java异常[Exception]

    学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:589809992 我们一起学Java! 一. 异常的定义 在<java编程思想 ...

  3. 基础知识《十》java 异常捕捉 ( try catch finally ) 你真的掌握了吗?

    本文转载自  java 异常捕捉 ( try catch finally ) 你真的掌握了吗? 前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理 ...

  4. Java异常体系及分类

    上图是基本的java异常体系结构. 主要分为2大类:Error和Exception 1.Error:描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对象,一般是由虚拟 ...

  5. Java异常之自定义异常

    哎呀,妈呀,又出异常了!俗话说:"代码虐我千百遍,我待代码如初恋". 小Alan最近一直在忙着工作,已经很久没有写写东西来加深自己的理解了,今天来跟大家聊聊Java异常.Java异 ...

  6. 第11章 Java异常与异常处理

    1.Java异常简介 1.什么是异常异常出现的时候代码会无法正常运行下去,会产生各种问题2.捕捉异常的作用提早发现异常,方便查找问题,并给出解决方法3.Java中的异常1.Java中所有不正常的类都是 ...

  7. java 异常

    1.java异常 2.自定义抛出 3.运行时异常,程序有问题,让使用者可以改' ' 4.return  和  throw的区别 return 符合函数要求的值    throw  有问题的时候用它结束 ...

  8. 3.Java异常进阶

    3.JAVA异常进阶 1.Run函数中抛出的异常 1.run函数不会抛出异常 2.run函数的异常会交给UncaughtExceptionhandler处理 3.默认的UncaughtExceptio ...

  9. 2.Java异常学习

    1.Java异常的概念 异常的例子 1.除法就是一个需要捕获异常的例子,除数又可能是0 异常处理的基本流程如下 一旦发生异常,就使得程序不按照原来的流程继续的运行下去 a.程序抛出异常 try{ th ...

  10. java异常架构图 和几个面试题

    1.java异常架构图 粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被 ...

随机推荐

  1. Max answer(单调栈+ST表)

    Max answer https://nanti.jisuanke.com/t/38228 Alice has a magic array. She suggests that the value o ...

  2. leetcode 最大不重复字符

    class Solution: def lengthOfLongestSubstring(self, s: str) -> int: if len(s) <= 1: return len( ...

  3. web前端面试题题目

    一.各种浏览器兼容的前缀:-o-(Opera),-ms-(IE): -moz-(火狐):-webkit-(chrome) 二.存在兼容性的css属性:placeholder,主要是因为各种浏览器pla ...

  4. Django之ORM操作

    Django之ORM操作 前言 Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计 ...

  5. AsyncContext的startAsync()方法开启异步

    Servlet 3.0的异步处理支持特性,使Servlet 线程不再需要一直阻塞,直到业务处理完毕才能再输出响应,最后才结束该 Servlet 线程.在接收到请求之后,Servlet 线程可以将耗时的 ...

  6. MUI 添加自定义图标(注意点)

    参考: https://blog.csdn.net/qq_39759115/article/details/79436606 注意: 1. 将这个原来的逗号改成分号 2. 这些图标的名字都可以改名字

  7. VMware NAT做端口映射

    转自百度 原文地址: https://jingyan.baidu.com/article/c35dbcb0d1ff248916fcbc0d.html 注意事项:Window宿主电脑要调整防火墙.

  8. cnblog测试

    文字测试  图片测试

  9. tomcat中如何禁止列目录下的文件

    tomcat中如何禁止列目录下的文件在{tomcat_home}/conf/web.xml中,把listings参数设置成false即可,如下: <servlet> <servlet ...

  10. jquery倒计时按钮常用于验证码倒计时

    <!doctype html><html><head> <meta charset="utf-8"> <title>jq ...