java开发中异常的处理方式_Java方法覆盖中的异常处理与Java异常在开发中的应用...

Java方法覆盖中的异常处理与Java异常在开发中的应用

Java方法覆盖中的异常处理

Java方法覆盖规则:

● 方法签名必须相同

● 方法返回值类型, 可以相同 ,子类方法的返回值类型可以是父类方法返回值类型的子类型

● 方法权限可以更宽泛

● 方法的异常不能大于父类方法的异常

Java异常在开发中的应用

自定义异常

package com.wkcto.chapter02.demo03;

//1) 定义一个类继承Exception

public class AgeOutOfBoundsException extends Exception {

//2) 一般提供两个 构造方法

public AgeOutOfBoundsException() {

super();

}

//带有字符串参数的构造方法, 这个字符串是异常信息

public AgeOutOfBoundsException(String message) {

super(message);

}

}

package com.wkcto.chapter02.demo03;

public class Person {

private String name;

private int age;

private String gender;

@Override

public String toString() {

return "Person [name=" + name + ", age=" + age + ", gender=" + gender + "]";

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

//4) throw语句所在的方法通过throws 声明该异常

public void setAge(int age) throws AgeOutOfBoundsException {

//必要时,在setter()方法中,对参数接收的数据进行合理 性验证

if ( age >= 0 && age <= 130) {

this.age = age;

}else {

//年龄不合理 , 抛出一个异常

//3)在需要的位置,通过throw抛出一个异常对象

throw new AgeOutOfBoundsException("年龄越界");

}

}

public String getGender() {

return gender;

}

public void setGender(String gender) {

this.gender = gender;

}

}

package com.wkcto.chapter02.demo03;

/**

* 测试自定义异常

* @author 蛙课网

*

*/

public class Test {

public static void main(String[] args) {

/*//创建Person对象

Person lisi = new Person();

//直接给lisi的各个字段赋值 , 可能会赋值一些无效的值

lisi.name = "lisi";

lisi.age = 188888; //没有语法错误, 没有意义,赋的值无效, age表示一个人的年龄

lisi.gender = "男";

System.out.println( lisi );*/

//对字段进行封装后

Person lisisi = new Person();

lisisi.setName("lisis");

//5)对受异常进行预处理

try {

lisisi.setAge( 188888 );

} catch (AgeOutOfBoundsException e) {

e.printStackTrace();

}

lisisi.setGender("妖");

System.out.println( lisisi );

}

}

总结:

1、理解异常是什么,异常的作用

2、掌握异常类的结构: Throwable, Error , Exception, 编译时异常, 运行时异常

3、掌握异常预处理的方法: 捕获处理, 抛出处理

4、理解异常预处理方式的选择?   定义方法,  调用方法

5、记住方法覆盖中的异常处理

6、掌握自定义异常的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值