- 浏览: 77437 次
- 性别:
- 来自: 深圳
文章分类
最新评论
/* 因为项目中会出现特有的问题 而这些问题并未被java所描述并封装对象 所以对于这些特有的问题可以按照java的对问题封装的思想 将特有的问题,进行自定义的异常封装。即自定义异常 当在函数内部出现了throw抛出异常对象,那么就必须给出对应的处理动作。 要么在内部try catch处理。要么在函数上声明让调用者处理。 一般情况下,函数内出现异常,函数上需要声明。 发现打印的结果中只有异常的名称,却没有异常的信息。 因为自定义的异常并未定义信息。 如何定义异常信息呢? 因为父类(Throwable)中已经把异常信息的操作都完成了, 所以子类(自定义异常类)只要在构造时, 将异常信息传递给父类通过super语句。 那么就可以直接通过getMessage方法获取自定义的异常。 自定义异常必须是继承Exception 继承Exception的原因: 异常体系有一个特点:因为异常类和异常对象都被抛出。 他们都具备可抛性,这个可抛性是Throwable这个体系中的独有特点。 只有这个体系中的类和对象才可以被throw和throws操作。 需求:在本程序中,对于除数是-1也视为是错误的是无法进行运算的。 那么就需要对这个问题进行自定义描述 */ class FuShuException extends Exception{ private int value; FuShuException(String msg,int value){ super(msg); this.value = value; } public int getValue(){ return value; } } class Demo{ int div(int a,int b)throws FuShuException{ if(b<0) throw new FuShuException("出现了负数情况",b);//手动通过throw关键字抛出一个自定义异常 return a/b; } } class ExceptionDemo{ public static void main(String[] args){ Demo d = new Demo(); try{ int x = d.div(4,1); System.out.println("x="+x); } catch(FuShuException e){ System.out.println(e.toString()); //System.out.println("除数出现负数了"); System.out.println("错误的负数是"+e.getValue()); } System.out.println("over") } }
throws和throw的区别:
throw使用在函数上,throw使用在函数内
throws后面跟的异常类,可以跟多个,用逗号隔开
throw后跟的是异常对象
Exception中有一个特殊的子类异常RuntimeException运行时异常。
如果在函数内容抛出该异常,函数上可以不用声明,编译一样通过。
如果在函数上声明了该异常,调用者可以不用进行处理,编译一样通过。
之所以不用在函数上声明,是因为不需要让调用者处理。
当该异常发生,希望程序停止,因为运行时,出现了无法继续运算的情况。
希望停止后,对代码进行修正。
自定义异常时,如果该异常的发生,无法再进行运算,
就让自定义异常继承RuntimeException
/*异常在子父类中体现: 1.子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法 只能抛出父类的异常或该异常的子类 2.如果父类方法抛出多个异常,子类在覆盖该方法时,只能抛出父类的子集。 3.如果父类或者接口的方法中,没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常。 如果子类方法发生了异常,就必须进行try处理,绝对不能抛。 */ class AException extends Exception{ } class BException extends AException{ } calss Fu{ void show()throws AException{ } } class Zi extends Fu{ void show()throws BException{//不能抛父类没有的异常 } }
发表评论
-
151多线程(优先级&yield方法)
2015-10-28 11:16 694/* 养成习惯:数据共享用静态 */ class Dem ... -
150_多线程(Join方法)
2015-10-27 18:31 610/* join: 当A线程执行到了B线程的join方法 ... -
114_面向对象(多异常处理)_黑马程序员_Java基础视频
2015-10-25 23:27 695/* 对多异常的处理 1.生命异常时,建议声明更为具体的异 ... -
113_面向对象(异常声明throws)_黑马程序员_Java基础视频
2015-10-25 23:26 482/* 异常:就是程序在运行时出现不正常情况 异常由来:问题 ... -
112_面向对象(异常try-catch)
2015-10-25 23:25 733/* 异常:就是程序在运行时出现不正常情况 异常由来:问题 ... -
148_多线程(停止线程)
2015-10-25 23:16 581/* stop方法已经过时。 如何停止线程? 只有一 ... -
147_多线程(线程间通信-生产者消费者JDK5.0升级版)
2015-10-21 23:33 751/*JDK1.5及以上提供了多线程升级解决方案。 将同步Sy ... -
146_多线程(线程间通信-生产者消费者)
2015-10-20 23:35 627一个生产者一个消费者 ... -
144_多线程(线程间通信-等待唤醒机制)
2015-10-20 18:35 722class Res{ String name; Str ... -
142_多线程-线程间通信
2015-10-20 16:18 703/* 线程间通讯: 其实就是多线程在操作同一个资源。 但 ... -
141多线程-死锁
2015-10-20 14:45 694/* 死锁: 同步中嵌套同步 */ class T ... -
140_多线程(多线程-单例设计模式-懒汉式)
2015-10-19 11:45 689/* 单例设计模式 饿汉式 class Single ... -
138_多线程(多线程-同步函数的锁是this)
2015-10-15 14:48 848/* 同步函数用的是哪一个锁呢? 函数需要被对象调用。那么 ... -
137_多线程(多线程-同步函数)
2015-10-13 23:25 599/* 需求:银行有一个金库。 有两个储户分别存300元 ... -
135_多线程(多线程的安全问题)
2015-10-13 18:07 610class TWindow implements Runnab ... -
多线程(创建线程-实现Runnable接口)
2015-10-10 00:19 556class TWindow implements Runnab ... -
133_多线程(售票的例子)
2015-10-09 23:48 648/* 需求:简单的买票程序 多个窗口卖票 */ c ... -
132_多线程(获取线程对象以及名称)
2015-10-09 23:30 1218/* 练习:创建两个线程,和主线程交替运行 线程都有自 ... -
多线程-继承Thread类
2015-10-09 00:26 1562/* 进程:是一个正在执行中的程序 每一个进程执行都有一个 ... -
包的应用
2015-10-08 23:28 1665package pack; class PackageD ...
相关推荐
5. **异常处理**:理解异常分类(检查型异常和运行时异常)、异常的捕获和抛出、finally块的作用以及自定义异常的创建,这些都是面试常考内容。 6. **JVM内存模型**:了解Java内存区域(堆、栈、方法区、程序计数器...
- **自定义异常**:可以创建自己的异常类,继承自Exception或其子类。 4. **集合框架** - **List, Set, Queue, Map**:理解这些接口的不同用途和实现类,如ArrayList, LinkedList, HashSet, TreeSet, HashMap, ...
- **自定义异常**:如何创建和抛出自定义异常。 3. **集合框架** - **ArrayList与LinkedList**:两者的实现方式、性能特点以及应用场景。 - **HashSet与HashMap**:无序性、唯一性,以及它们的内部实现原理。 -...
在本篇文档中,详细阐述了如何在Quartus II开发环境中使用Qsys工具来设计一...以上内容提供了从硬件系统构建到软件开发的完整流程,对于希望在FPGA上实现自定义处理器系统的设计者来说,本篇文档是一个宝贵的参考资料。
面试中可能会问到try、catch、finally关键字的用法以及自定义异常的创建。理解异常处理机制可以帮助编写更健壮的代码。 Java EE部分:Java EE涉及Java在企业级应用开发中的应用,包括了异常处理、Java小应用程序...
- **自定义异常**:如何创建并抛出自定义异常。 4. **集合框架** - **List、Set、Queue和Map接口**:理解各自的特点和适用场景,如ArrayList、LinkedList、HashSet、HashMap等。 - **泛型**:使用泛型可以确保...
4. **JSON解析**:通常,Web服务返回的数据格式为JSON,所以需要使用易语言的JSON库或自定义解析函数来处理返回的结果。 5. **错误处理**:源码中应包含适当的错误处理机制,以应对网络问题、API限制或其他可能出现...
2. **异常处理**:Java的异常处理机制是面试中的常见话题,包括try-catch-finally块,throw和throws关键字,以及自定义异常。 3. **集合框架**:List(ArrayList, LinkedList)、Set(HashSet, TreeSet)和Map...
3. **异常处理**:Java异常处理机制是面试的常见考点,包括try-catch-finally语句块、自定义异常、异常链等。 4. **集合框架**:Java集合框架包括List、Set、Map接口和它们的实现类。面试中可能会考察ArrayList、...
理解不同类型的异常,如何自定义异常,以及何时何地抛出异常,都是面试中的常见问题。 4. **集合框架**:Java集合框架包括List、Set、Map接口及其实现类,如ArrayList、LinkedList、HashSet、HashMap等。面试中可能...
以上概述了《GitHub 上标星 115k+ 的 Java 教程》中涉及的主要知识点,涵盖了从基本的数据类型到高级的面向对象编程和并发编程等内容。这些知识点不仅是学习Java的基础,也是深入理解Java的关键所在。
修复个人中心模型内容显示异常 新增模板可创建自定义字段配置目前支持,附件上传 单选框 选择框 输入框 文本域 密码框 附件 颜色 时间 多选等 新增内容可查看对应的分类 新增模型独立分类 创建字段及删除字段 新增...
- 知道如何捕获、抛出和自定义异常。 - 理解checked异常和unchecked异常的区别。 5. **多线程**: - 掌握Thread类和Runnable接口,理解并发编程的基础概念。 - 学习synchronized关键字、volatile变量和锁机制。...
7. **异常处理**:为了确保程序的健壮性,可能包含了对可能出现的错误和异常的处理机制。 8. **测试**:为了保证代码的质量和功能的正确性,项目可能包含单元测试和集成测试。 9. **文档**:项目可能有README文件...
5. 可能还需要处理异常和错误,确保数据的完整性和一致性。 这个工具对于PB11.5的用户来说非常实用,它简化了数据导出的过程,并且可以集成到应用程序中,提供用户友好的接口,使他们能够方便地将数据导出到广泛...
书中会讲解如何使用`try-catch-finally`语句块,以及如何自定义异常类。 7. **泛型**:泛型是Java SE 5.0引入的新特性,用于提供类型安全的集合。这部分将讲解泛型的基本概念、类型参数、通配符和边界。 8. **注解...
10.2 抛出异常与自定义Exception类 196 10.2.1 使用throw关键字 196 10.2.2 在方法抛出异常 197 10.2.3 自定义Exception类 199 10.3 线程的基础知识 200 10.4 创建Java的线程 201 10.4.1 实现Runnable...
7.4 自定义异常的设计 188 7.5 异常与性能 190 7.5.1 Tester-Doer模式 190 7.5.2 Try-Parse模式 191 7.6 小结 192 第8章 使用规范 193 8.1 数组 193 8.2 attribute 195 8.3 集合 198 8.3.1 集合...
3. 错误处理:为了确保程序的健壮性,源码中可能包含了错误检测和处理机制,防止因数据问题或操作异常导致的程序崩溃。 使用这个源码,开发者可以轻松集成数据导出功能到自己的PowerBuilder应用中,无需额外购买或...
实例53 自定义异常实例一 74 实例54 自定义异常实例二 75 第5章 数组(教学视频:98分钟) 78 5.1 一维数组 78 实例55 一维数组的创建与使用 78 实例56 按相反的顺序输出 79 实例57 奇偶分组 80...