博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA异常处理
阅读量:638 次
发布时间:2019-03-14

本文共 1198 字,大约阅读时间需要 3 分钟。

JAVA异常

Java类库的每个包都定义了异常类,所有这些类都是Throwable类的子类。Throwable类派生出两个子类:Exception和Error类。Error类及其子类描述JAVA运行系统内部错误以及资源耗尽错误,比较严重;Exception为非致命类,可以通过捕捉异常使程序继续执行。

                               

捕捉异常:

try{   //程序代码块}catch(Exceptiontype1 e){    //对Exceptiontype1的处理}catch(Exceptiontype2 e){    e.printStackTrace();//对Exceptiontype2的处理}finally{    //不管是否异常都执行finally}

对异常的处理:

  • getMessage(): 输出错误性质
  • toString(): 给出异常类型与性质
  • printStackTrace(): 指出异常类型、性质、栈层次以及出现在程序位置

自定义异常:

//自定义异常类MyException,继承自Exceptionpublic class MyException extends Exception {	public MyException(String ErrorMessage) {//构造方法		super(ErrorMessage);//父类构造方法	}}//定义测试类public class Test{	//定义0-100的数求平均值方法,不满足数值要求抛出异常	static float calculate(float x1, float x2) throws MyException{		if(x1<0||x2<0) {			throw new MyException("不可以使用负数");//throw关键字抛出异常,程序不再向下执行		}		if(x1>100||x2>100) {			throw new MyException("不可以大于100");		}		return (x1+x2)/2;	}	//主方法,处理calculate方法抛出的异常	public static void main(String[] args) {		try {			float result=calculate(23,160);			System.out.println(result);		}catch(MyException e){                   //在调用者中捕获并处理异常			e.printStackTrace();		}	}}执行结果:cn.demo01.MyException: 不可以大于100	at cn.demo01.Test.calculate(Test.java:10)	at cn.demo01.Test.main(Test.java:17)

 

你可能感兴趣的文章