一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

java异常之手动抛出与自动抛出代码实例解析

时间:2021-02-24 编辑:袖梨 来源:一聚教程网

本篇文章小编给大家分享一下java异常之手动抛出与自动抛出代码实例解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

java异常处理机制的两类

1、抓:异常的处理,有两种方式

① try-catch-finally

② throws

2、抛:

① 自动抛出

可以理解为所有没有使用throw关键字的异常处理都是自动抛出,由jvm进行判断和抛出。

②手动抛出

throw + 异常类的对象

》异常类可以是现成的,也可以是自己创建的异常类,

抛出异类的类型:若是RuntimException,可以不用显示处理。

若是一个Exception,必须要显示的处理。

/* 
 *1.手动抛出一个异常的例子
 */
public class TestException3 {
	public static void main(String[] args) {
		Circle c1 = new Circle(2.1);
		Circle c2 = new Circle(2.1);
		System.out.println(c2.compareTo(c2));
		System.out.println(c1.compareTo(new String("44")));
	}
}
class Circle{
	private double radius;
	public Circle(double radius) {
		super();
		this.radius = radius;
	}
	public double getRadius() {
		return radius;
	}
	public void setRadius(double radius) {
		this.radius = radius;
	}
	//比较两个圆的半径谁大
	public int compareTo(Object obj) {
		if(this == obj) {
			return 0;
		}
		else if(obj instanceof Circle) {
			Circle c = (Circle)obj;
			if(this.radius > c.radius) {
				return 1;
			}else if(this.radius == c.radius){
				return 0;
			}else {
				return -1;
			}
		}else {
			//因为在这里返回声明都不适合,手动的抛出一个异常
			//运行时异常可以不用显示处理,在运行的时候,抛出。
			throw new RuntimeException("传入的类型有误");
//			throw new Exception("传入的类型有误");
			//非RuntimeException必须在出现的时候显示处理
		}
	}
}

热门栏目