http://www.verejava.com/?id=16992994231782 package com.exception2;
/**
題目: 老師正在給學生上課, 突然某個學生說網絡斷了, 老師你來幫助處理一下
沒辦法,我隻能去找網管
*/
//網管類
public class TestException3
{
public static void main(String[] args) throws MyException {
//實列化一個老師
Teacher t = new Teacher("胡楊");
//實列化學生
Student s = new Student("候文桌");
//老師 在 教學生上課
//網管說我來處理
t.teach(s);
}
}
class Teacher {
private String name;
public Teacher(String name) {
this.name = name;
}
//老師正在給學生上課
public void teach(Student s) throws MyException {
//老師正在給學生上課 是一個持續的狀态
int i = 0;
while (true) {
System.out.println(this.name + " 給 " + s.getName() + " 上課 ");
i++;
try {
Thread.sleep(1000);
if (i == 5) {
//突然某個學生說網絡斷了
//抛出一個異常
//老師你來幫助處理一下
throw new MyException("突然" + s.getName() + "說網絡斷了");
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class Student {
private String name;
public Student(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class MyException extends Exception {
private String message;
public MyException(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}