java学习之自定义异常
2016-03-09 18:11
513 查看
在程序中使用自定义异常类,大体可分为以下几个步骤。
创建自定义异常类。
在方法中通过throw关键字抛出异常对象。
如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
在出现异常方法的调用者中捕获并处理异常。
public class Test {
public static void main(String[] args) {
//对象的声明和分配内存
Person p1 = new Person("小明", 17);
Person p2 = new Person("小红", 19);
try {
Surf(p1);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
Surf(p2);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
//异常方法
public static void Surf(Person p) throws Exception {
// TODO Auto-generated method stub
if (p.getAge() < 18) {
//抛出异常对象
throw new MyException(p.getName() + "年龄只有:" + p.getAge() + "不能上网");
}
}
}
//定义一个对象
public class Person {
String name;
int age;
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
//自定义异常类
public class MyException extends Exception {
public MyException(String msg) {
// TODO Auto-generated constructor stub
super(msg);
}
}
创建自定义异常类。
在方法中通过throw关键字抛出异常对象。
如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
在出现异常方法的调用者中捕获并处理异常。
public class Test {
public static void main(String[] args) {
//对象的声明和分配内存
Person p1 = new Person("小明", 17);
Person p2 = new Person("小红", 19);
try {
Surf(p1);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
Surf(p2);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
//异常方法
public static void Surf(Person p) throws Exception {
// TODO Auto-generated method stub
if (p.getAge() < 18) {
//抛出异常对象
throw new MyException(p.getName() + "年龄只有:" + p.getAge() + "不能上网");
}
}
}
//定义一个对象
public class Person {
String name;
int age;
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
//自定义异常类
public class MyException extends Exception {
public MyException(String msg) {
// TODO Auto-generated constructor stub
super(msg);
}
}
相关文章推荐
- java中类序列化与反序列化的实现
- 2016蓝桥杯假期任务之《核桃的数量 》
- 在eclipse中配置opencv开发环境
- 遍历Arraylist的四种方法
- 在 Eclipse 中使用命令行
- Java解析XMl文件之SAX和DOm方法
- Java 折半插入排序
- java学习之文件的读取
- java转换xml、list、map和json
- java转换xml、list、map和json
- 2016蓝桥杯假期任务之《兰顿蚂蚁》
- java学习之文件的删除
- jersey spring shiro mybatis mysql集成配置
- 如何在Eclipse中嵌入外部工具
- Eclipse项目导入到Android Studio(不用Eclipse导出时生成gradle)
- Java 变量初始化
- Struts2配置--Action配置
- 聊聊并发(三)Java线程池的分析和使用
- 将WEB工程转换为Maven工程(eclipse)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)