Java自学-异常处理 自定义异常
程序员文章站
2023-11-17 18:52:46
Java 自定义异常 示例 1 : 创建自定义异常 一个英雄攻击另一个英雄的时候,如果发现另一个英雄已经挂了,就会抛出EnemyHeroIsDeadException 创建一个类EnemyHeroIsDeadException,并继承Exception 提供两个构造方法 1. 无参的构造方法 2. ......
java 自定义异常
示例 1 : 创建自定义异常
一个英雄攻击另一个英雄的时候,如果发现另一个英雄已经挂了,就会抛出enemyheroisdeadexception
创建一个类enemyheroisdeadexception,并继承exception
提供两个构造方法
- 无参的构造方法
- 带参的构造方法,并调用父类的对应的构造方法
class enemyheroisdeadexception extends exception{ public enemyheroisdeadexception(){ } public enemyheroisdeadexception(string msg){ super(msg); } }
示例 2 : 抛出自定义异常
在hero的attack方法中,当发现敌方英雄的血量为0的时候,抛出该异常
- 创建一个enemyheroisdeadexception实例
- 通过throw 抛出该异常
- 当前方法通过 throws 抛出该异常
在外部调用attack方法的时候,就需要进行捕捉,并且捕捉的时候,可以通过e.getmessage() 获取当时出错的具体原因
package charactor; public class hero { public string name; protected float hp; public void attackhero(hero h) throws enemyheroisdeadexception{ if(h.hp == 0){ throw new enemyheroisdeadexception(h.name + " 已经挂了,不需要施放技能" ); } } public string tostring(){ return name; } class enemyheroisdeadexception extends exception{ public enemyheroisdeadexception(){ } public enemyheroisdeadexception(string msg){ super(msg); } } public static void main(string[] args) { hero garen = new hero(); garen.name = "盖伦"; garen.hp = 616; hero teemo = new hero(); teemo.name = "提莫"; teemo.hp = 0; try { garen.attackhero(teemo); } catch (enemyheroisdeadexception e) { // todo auto-generated catch block system.out.println("异常的具体原因:"+e.getmessage()); e.printstacktrace(); } } }
上一篇: string字符串成员函数
下一篇: web.config文件的中文解释
推荐阅读
-
Spark异常:A master URL must be set in your configuration处理记录
-
Laravel核心解读之异常处理的实践过程
-
springboot全局异常处理代码实例
-
Java自学-异常处理 自定义异常
-
SpringBoot如何优雅的处理全局异常
-
SQLserver2000 企业版 出现"进程51发生了严重的异常"错误的处理方法
-
C# 网络连接中异常断线的处理:ReceiveTimeout, SendTimeout 及 KeepAliveValues(设置心跳)
-
C#异常处理的技巧和方法
-
MVC异常处理详解
-
Java连载63-异常处理try...catch...、方法getMessageyu printStackTrace