Java 异常处理 之 实例
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;
}
}

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Java 异常处理 之 捕获处理流程
http://www.verejava.com/?id=16992991138281 package com.exception2; /** 注意: 1. 当异常发生的时候,程序会终止,其后面的代码不会执行. 2. 异常分为编译时异常和运行期异常 编译期异常必须用 try{}catch{}捕获,运行期异常可以不捕获 编译期异常从 Exception 继承, 运行期异常从RuntimeException 继承 异常的处理流程 注意: 1. try{}catch{} 代码块里的局部变量, 不能在其外访问. 所以如果要访问 最好在try catch 代码块外定义,然后再使用. 2. 异常执行流程 当异常发生时,首先系统产生一个异常实例, 如果没有try catch 代码块报异常终止执行, 如果遇到try catch 代码块, 系统会把异常实例跟 catch() 里面的异常对象依次从上往下进行匹配,如果匹配成功进入 catch{} 代码块. 否则 报异常终止执行. 3. Exception 是异常的根类, 根据多态原则,所以所有的异常实例都可以转为Exception 这样通过 Exceptio...
-
下一篇
linux服务器PHP升级到7
PHP安装 本文以php7.0.30为例,下载地址:http://cn2.php.net/get/php-7.0.30.tar.gz/from/this/mirror tar -zxvf php-7.0.30.tar.gz cd php-7.0.30 安装依赖包,有安装就不需要 yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel 编译安装PHP ./configure --prefix=/alidata/server/php-7.0.30 --with-openssl --with-config-file-path=/alidata/server/p...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL数据库在高并发下的优化方案
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池