java-异常-异常应用


1 package p1.exception;
2
3
4 /*
5 * 老师用电脑上课。
6 *
7 * 问题领域中涉及两个对象。
8 * 老师,电脑。
9 *
10 * 分析其中的问题。
11 * 比如电脑蓝屏。冒烟。
12 *
13 */
14
15 class LanPingException extends Exception{
16 public LanPingException(String msg) {
17 super(msg);
18 // TODO Auto-generated constructor stub
19 }
20 }
21 class MaoYanException extends Exception{
22 public MaoYanException(String msg) {
23 super(msg);
24 // TODO Auto-generated constructor stub
25 }
26 }
27 class NoPlanException extends Exception{
28 public NoPlanException(String msg) {
29 super(msg);
30 // TODO Auto-generated constructor stub
31 }
32 }
33 class Computer{
34 private int state = 2;
35
36 public void run() throws LanPingException,MaoYanException{
37 if (state == 1) {
38 throw new LanPingException("电脑蓝屏");
39 }
40 if (state == 2) {
41 throw new MaoYanException("电脑冒烟");
42 }
43 System.out.println("电脑运行");
44 }
45 public void reset() {
46 state = 0;
47 System.out.println("电脑重启");
48 }
49 }
50 class Teacher{
51 private String name;
52 private Computer comp;
53 public Teacher(String name) {
54 this.name = name;
55 comp = new Computer();
56 // TODO Auto-generated constructor stub
57 }
58 public void prelect() throws NoPlanException{
59 try {
60 comp.run();
61 System.out.println(name+"讲课");
62 } catch (LanPingException e) {
63 System.out.println(e.toString());
64 comp.reset();
65 prelect();
66
67 } catch (MaoYanException e) {
68
69 System.out.println(e.toString());
70 test();
71 //可以对电脑进行维修,
72 // throw e;//做练习但没有解决冒烟问题抛出给别人
73 throw new NoPlanException("课时进度无法完成,原因:"+e.getMessage());
74
75 }
76
77
78 }
79 public void test() {
80 System.out.println("大家练习");
81 }
82 }
83 public class ExceptionTest {
84
85 public static void main(String[] args) {
86 // TODO Auto-generated method stub
87 Teacher t = new Teacher("武老师");
88 try {
89 t.prelect();
90 } catch (NoPlanException e) {
91 System.out.println(e.toString()+"......");
92 System.out.println("换人");
93 }
94
95 }
96
97 }
98
99 /*
100 * class NoAddException extends Exception{
101 *
102 * }
103 *
104 *
105 * void addData(Data d) throws NoAddException{
106 *
107 * 连接数据库
108 * try{
109 * 添加数据。出现异常 SQLException();
110 * }catche (SQLException e) {
111 * //处理代码
112 *
113 * thorw new NoAddException(); 内部处理了异常对外进行异常的转换,也叫异常的封装
114 * 不该暴露出的问题就不暴露,你暴露了对方也不能处理
115 *
116 * }finally{
117 * 关闭数据库
118 * }
119 *
120 *
121 *
122 *
123 */
124 * }
ExceptionTest
java-异常-异常应用的更多相关文章
- java的异常总结
异常:在java程序中也出现不正常的情况,这个就叫异常.java是面向对象的语言.任何事物都可以用类来描述,同样异常也是一种事物,java中提供了很多异常类 很多异常堆积起来叫做异常体系 Throwa ...
- java的异常
下面是我对Java异常知识的几个小总结,也算是资源回收一下 一.Java异常的知识 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的.比如说,你的代码少了一个分号,那么运 ...
- 《java中异常和错误》
异常和错误的区别. 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发 ...
- Atitit java的异常exception 结构Throwable类
Atitit java的异常exception 结构Throwable类 1.1. Throwable类 2.StackTrace栈轨迹1 1.2. 3.cause因由1 1.3. 4.Suppres ...
- Java ConcurrentModificationException异常原因和解决方法
Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.u ...
- java 异常
异常简介 java中有Error和Exception Error:是程序无法处理的错误,表示运行应用程序中较严重问题.大多数错误与代码编写者执行操作无关,而表示运行时JVM出现的问题. Excepti ...
- Java基础——异常体系
在Java中,异常对象都是派生于Throwable类的一个实例,Java的异常体系如下图所示: 所有的异常都是由Throwable继承而来,在下一层立即分解为两个分支,Error和Exception. ...
- Java并发编程:Java ConcurrentModificationException异常原因和解决方法
Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.u ...
- 【转】Java ConcurrentModificationException异常原因和解决方法
原文网址:http://www.cnblogs.com/dolphin0520/p/3933551.html Java ConcurrentModificationException异常原因和解决方法 ...
- JAVA基础——异常详解
JAVA异常与异常处理详解 一.异常简介 什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错.在java中,阻止当前方法或作用域的情况,称之为异常. java中异常的体系是怎么样的呢? 1 ...
随机推荐
- 【九度OJ】题目1024:畅通工程 解题报告
[九度OJ]题目1024:畅通工程 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1024 题目描述: 省政府"畅 ...
- 【九度OJ】题目1190:大整数排序 解题报告
[九度OJ]题目1190:大整数排序 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1190 题目描述: 对N个长度最长可达 ...
- 【LeetCode】138. Copy List with Random Pointer 复制带随机指针的链表 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人公众号:负雪明烛 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https:/ ...
- JDK httpClient 详解(源码级分析)——概览及架构篇
1. 前言 2018年9月,伴随着java 11的发布,内置的httpclient正式登上了历史的舞台.此前,JDK内置的http工具URLConnection性能羸弱,操作繁琐,饱受诟病,也因此令如 ...
- golang(gin框架),基于RESTFUL的跨语言远程通信尝试
golang(gin框架),基于RESTFUL的跨语言远程通信尝试 背景: 在今年的项目实训过程中,遇到了这样的问题: 企业老师讲课实用的技术栈是Java springboot. 实训实际给我们讲课以 ...
- Java初学者作业——计算大庆路小学的面积练习
返回本章节 返回作业目录 需求说明: 大庆路小学因为装修需要对教室的一侧墙面进行重新粉刷,墙面安装了一面黑板,墙面的长和高以及黑板的长和高. 请编写Java程序计算出需要粉刷的墙面面积.功能要求:输入 ...
- Shell调试Debug的三种方式
Shell脚本进行Debug调试的三种方法如下: 1.在调用脚本的时候开启deubg sh -x shell.sh 2.在脚本文件首行开启deubg #!/bin/bash -x 3. 使用set开启 ...
- python 自动化测试框架unittest与pytest的区别
前言: 有使用过unittest单元测试框架,再使用pytest单元测试框架,就可以明显感觉到pytest比unittest真的简洁.方便很多. unittest与pytest的区别: 主要从用例编写 ...
- 访问 远程 tomcat 的管理页面 /manager/html 提示 403 的具体解决操作
1.前言 我在阿里云服务器放了个tomcat ,启动后 ,访问 /manager/html提示403无权访问 原因是 tomcat默认仅仅允许本地的浏览器访问,有ip限制 需要将ip限制去除 顺便把账 ...
- linux 【阿里云服务器】 配置 redis 的正确流程
1.前言 我的域名备案前几天通过了,这篇随笔完整的记录 redis 的安装流程 与各种 问题 的 具体解决方案. 2.操作[跟着步骤来] (1)指令cd /usr/local 进入local文件夹里面 ...