java自定义异常(例:计算绝对值表达式 |a-b|,b>a时抛出一个自定义异常)
2018-09-18 22:41
429 查看
文章目录
1.自定义异常
步骤:
(1)创建一个类继承于Throwable或其子类;
class 异常类名 extends Exception { public 异常类名(String msg) { super(msg); } }
(2)添加构造方法,在一个方法中使用throws抛出异常
throws 异常类名
(3)捕获并处理异常
try{} catch(异常类名 ){}
2.小例子
计算绝对值表达式 |a-b|。
完成一个 java application应用程序,完成一个计算绝对值表达式 |a-b|的功能。要求当b比a大时人为抛出一个自定义异常,在计算绝对值时通过异常捕捉机制完成此绝对值表达式的计算。
代码如下:
import java.util.Scanner; class jianshuException extends Exception //自定义异常类,继承Exception类 { public jianshuException(String msg) { super(msg);//调用父类的构造方法 } } class Numbertest //自定义异常类 { public int jian(int a,int b) throws jianshuException //b大于a时,抛出一个自定义异常 { int c; if(b>a) { throw new jianshuException("b大于a时,抛出一个自定义异常");//抛出异常 } else { c=a-b; } return c; } } class CalculateDemo2 //主程序 { public static void main(String[]args) { Scanner sc=new Scanner(System.in);//从键盘接收数据 System.out.println("请输入a:"); int a=sc.nextInt(); //输入a的数值 System.out.println("请输入b:"); int b=sc.nextInt();//输入b的数值 Numbertest n=new Numbertest(); //捕获异常 try { int c=n.jian(a,b); System.out.println("c=|a-b|\n"+"=|"+a+"-"+b+"|="+c);//输出c } catch(Exception e) { int c=b-a; System.out.println(e.getMessage());//输出异常的信息 e.printStackTrace(); //输出导致异常更为详细的信息 System.out.println("c=|a-b|\n"+"=|"+a+"-"+b+"|="+c);//输出c } } }
结果如下:
相关文章推荐
- JAVA异常捕捉机制进阶 完成一个计算绝对值表达式 |a-b|的功能。要求当b比a大时人为抛出一个自定义异常,在计算绝对值时通过异常捕捉机制完成此绝对值表达式的计算。
- java中异常抛出以及自定义异常
- java 抛出自定义异常
- java中如何靠着throw抛出一个异常来停止线程
- JAVA实现一个简单的代数运算语言编译器(四)-- 表达式计算
- java中的异常抛出及自定义异常
- Java 原码、反码、补码,自定义的异常类,手动抛出异常。
- 【慕课笔记】第一章 异常与异常处理 第4节 JAVA中的异常抛出以及自定义异常
- java自定义一个年龄的异常
- Java 如何抛出异常、自定义异常
- Java访问DotNet平台WCF服务,使用自定义对象如IDictionary做参数时,抛出"Did not understand MustUnderstand"异常
- java自定义异常的一个例子
- java一个简单的自定义异常工具类
- Java学习之自定义异常和抛出异常
- Java中异常抛出和自定义异常
- java实现阶乘的计算,抛出异常不会,怎么使用标号跳转,需要帮解决一下
- 一个递归抛出异常的java程序
- Java学习笔记之异常、处理异常、异常抛出、自定义异常、异常链
- 无法捕获异常:Java关于在catch中抛出一个异常给外围函数却捕获不到该异常的思考
- java基础16 捕获、抛出以、自定义异常和 finally 块(以及关键字:throw 、throws)