Excepion
异常:就是程序在运行时出现不正常的情况。
异常由来:问题也就是现实生活中一个具体的食物,也可以通过java的类的形式进行秒速。并封装成对象。其实就是java对不正常情况进行毛素后的对象体现。
对于问题的划分: 两种:一种是严重的问题,一种非严重的问题
对于严重的,java通过Error类进行秒速。
对于Error一般不编写针对性的代码对其进行处理。
对于非严重的,java通过Exception类进行描述
对于Exception可以使用针对性的处理方式进行处理
无论Error或者Exceptin都具有一些共性内容。比如:不正常的情况信息,引发原因等
Throwable
|--Error
|--Exception
2 异常处理
Java 提供了特有的语句进行处理
try
{
需要被检测的代码
}
catch(异常类 变量)
{
处理异常的代码;(处理方式)
}
finally
{
一定会执行的语句
}
Exception e;
e.getMessage() 异常信息
e.toString()异常名称;异常信息
e.printStactTrace()//异常名称;异常信息;异常出现的位置;
//其实jvm默认的异常处理机制就是调用这个方法
在功能上通过throws抛出可能会出现的异常给调用它的方法比如main()方法,这时候有两种处理方法一种是在抛出,另一种就是try {} catch{}
对多异常的处理
1 声明宜昌市,建议声明更为具体的异常。这样处理的可以更具体点
2对方声明几个异常,就对应有几个catch块,不要定义多余的catch块。
如果多个catch块中的异常出现继承关系,父类异常catch放在最下面。
建立在进行catch处理时,catch中一定要定义具体处理方式。
不要简单定义一句e。printStackTrace(),
也不要简单的就书写一条简单语句输出语句
因为项目中会出现特有的问题
而这些问题并未有被java所描述并封装的对象
所以对于这些特有的问题可以按照java的对问题封装的思想。
将特有的问题。进行自定义的异常封装。
自定义异常。
需求:在本程序中,对于初始是-1,也视为无法进行运算的。
那么就需要对这个问题进行自定义的描述
当在函数内部出现了throw抛出一场对象,那么就必须要对应的处理动作。
要么在内部try{}catch{}处理
一般情况下,函数内部出现异常,函数上需要声明。
发现打印的给过重只有异常的名称,却没有异常的信息。
因为自定义的异常并未定义信息。
如何定义异常信息呢?
因为父类中已经把异常信息的操作都玩成了。
所以子类中只要在构造是,将异常信息传递给父类通过super语句
那么就可以直接通过getMessage 方法获取自定义的异常信息。
自定义异常:
必须是自定义继承Exception
继承Exception原因:
异常体系有一个特点:因为异常类和异常对象都被抛出
她们都具备可宝兴。这个可抛性是Throwable这个体系中独有特点
只有这个体系中的类和对象才可以被throw和throws操作
Throw和throws 的区别
Throws使用在函数上
Throw使用在函数内
Throw寿面跟的异常类。可以跟多个,用逗号隔开
Throw后跟的是异常对象
Exception中有一个特殊的子类异常RuntimeException运行时异常
如果在函数内容抛出该异常函数上可以不用声明。编译一样通过
如果在函数上声明了该异常。调用者可以不用处理。编译一样通过。
之所以不用再函数声明,是因为不需要让调用者处理。
当该异常发生,希望程序停止。因为在运行时,出现了无法继续运算的结果,希望程序运行停止后,对代码进行修正。
自定义异常时,如果该异常的发生,无法继续进行运算。
就让自定义异常继承RuntimeException
对于异常分为两种:
1编译时被检测的异常。
2编译时不被检测的异常(运行时异常。RuntimeException类及其子类)
Excepion的更多相关文章
- Beginning Scala study note(9) Scala and Java Interoperability
1. Translating Java Classes to Scala Classes Example 1: # a class declaration in Java public class B ...
- CodeTimerPerformance EasyPerformanceCounterHelper .NET 4.5
//#define NET35 namespace TestConsoleApplication { using System; using System.Diagnostics; using Sys ...
- Bjarne Stroustrup对C++程序员的忠告
转自:http://blog.csdn.net/adm_qxx/archive/2007/05/20/1617488.aspx 第1章 致读者 [1] 在编写程序时,你是在为你针对某个问题的解决方 ...
- Lucene.net站内搜索—4、搜索引擎第一版技术储备(简单介绍Log4Net、生产者消费者模式)
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...
- python3 异常处理
什么是异常 Python用异常对象(exception object)来表示异常情况.遇到错误会引发异常,如果异常对象未被处理或者捕捉,程序就会用回溯(traceback)终止执行. Raise语句: ...
- 并发异步处理队列 .NET 4.5+
namespace Test { using System; using System.Threading; using System.Threading.Tasks; using Microshao ...
- BizTalk开发系列(二十七) 异常管理中的数据编码
在BizTalk的异常管理解决方案中.大部分是通过订阅相关的升级属性来接收消息,并在自定义的流程或发送端口进行处理.但不管怎样,一般会定义统一的 错误消息Schema,这样不仅可以让我们通过异常信息快 ...
- 第五章:Javascript语句
在javascript中,表达式是短语,那么语句(statement)就是整句或命令.正如英文语句以句号结尾,javascript以分号结尾. 表达式计算出一个值,但语句使某件事发生. “使某件事发生 ...
- JAVA的面向对象编程--------课堂笔记
面向对象主要针对面向过程. 面向过程的基本单元是函数. 什么是对象:EVERYTHING IS OBJECT(万物皆对象) 所有的事物都有两个方面: 有什么(属性):用来描述对象. 能够做什么 ...
随机推荐
- 【转载】20分钟MySQL基础入门
原文:20分钟MySQL基础入门 这里持续更新修正 开始使用 MySQL 为关系型数据库(Relational Database Management System),一个关系型数据库由一个或数个表格 ...
- Python基础学习笔记(七)常用元组内置函数
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-tuples.html 3. http://www.liaoxue ...
- 关于HTML5与移动开发
OSChina API列表: android api:http://tool.oschina.net/apidocs AppCan移动开发平台:http://doc.appcan.cn/#!/guid ...
- iOS - Swift NSLocale 本地化信息
前言 public class NSLocale : NSObject, NSCopying, NSSecureCoding NSLocale 类返回本地化信息,主要体现在"语言" ...
- 项目问题总结:Block内存泄露 以及NSTimer使用问题
BLock的内存泄露 在我们代码中关于block的使用可以说随处可见,第一次接触block的时候是关于UIView的块动画,那时觉得block的使用好神奇,再后来分析总结为block其实就是一个c语言 ...
- 学习日记day7:代码结构规范
1:绝对定位不是随便用的. 2:一定要用相对定位控制文档流,在相对定位里面使用绝对定位控制具体的位置. 3:代码结构尽量简化. 不要加不必要的span: 不要加不必要的类: 4:控制字体样式的类尽量写 ...
- XML 解析器
所有现代浏览器都内建了供读取和操作 XML 的 XML 解析器.解析器把 XML 转换为 XML DOM 对象 - 可通过 JavaScript 操作的对象. 解析 XML 文档为DOM对象 方法一: ...
- Scala的Actor模式 & Akka框架
今天学Spark的时候,看到Scala的actor模式是一个加分点.所以搜了一下,看了.主要参考下面两篇文章,还没有实验,有些地方领会的不深刻: http://nxlhero.blog.51cto.c ...
- Object Pascal 运算符
Object Pascal 的运算符 运算符是程序代码中对各种类型的数据进行计算的符号,通常分为算数运算符.逻辑运算符.比较运算符和按位运算符. 1.算术运算符Object Pascal ...
- Android最佳性能实践(三)——高性能编码优化
在前两篇文章当中,我们主要学习了Android内存方面的相关知识,包括如何合理地使用内存,以及当发生内存泄露时如何定位出问题的原因.那么关于内存的知识就讨论到这里,今天开始我们将学习一些性能编码优化的 ...