异常:就是程序在运行时出现不正常的情况。

异常由来:问题也就是现实生活中一个具体的食物,也可以通过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的更多相关文章

  1. 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 ...

  2. CodeTimerPerformance EasyPerformanceCounterHelper .NET 4.5

    //#define NET35 namespace TestConsoleApplication { using System; using System.Diagnostics; using Sys ...

  3. Bjarne Stroustrup对C++程序员的忠告

    转自:http://blog.csdn.net/adm_qxx/archive/2007/05/20/1617488.aspx  第1章 致读者  [1] 在编写程序时,你是在为你针对某个问题的解决方 ...

  4. Lucene.net站内搜索—4、搜索引擎第一版技术储备(简单介绍Log4Net、生产者消费者模式)

    目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...

  5. python3 异常处理

    什么是异常 Python用异常对象(exception object)来表示异常情况.遇到错误会引发异常,如果异常对象未被处理或者捕捉,程序就会用回溯(traceback)终止执行. Raise语句: ...

  6. 并发异步处理队列 .NET 4.5+

    namespace Test { using System; using System.Threading; using System.Threading.Tasks; using Microshao ...

  7. BizTalk开发系列(二十七) 异常管理中的数据编码

    在BizTalk的异常管理解决方案中.大部分是通过订阅相关的升级属性来接收消息,并在自定义的流程或发送端口进行处理.但不管怎样,一般会定义统一的 错误消息Schema,这样不仅可以让我们通过异常信息快 ...

  8. 第五章:Javascript语句

    在javascript中,表达式是短语,那么语句(statement)就是整句或命令.正如英文语句以句号结尾,javascript以分号结尾. 表达式计算出一个值,但语句使某件事发生. “使某件事发生 ...

  9. JAVA的面向对象编程--------课堂笔记

    面向对象主要针对面向过程. 面向过程的基本单元是函数.   什么是对象:EVERYTHING IS OBJECT(万物皆对象)   所有的事物都有两个方面: 有什么(属性):用来描述对象. 能够做什么 ...

随机推荐

  1. [51NOD1405] 树的距离之和(树DP)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1405 (1)我们给树规定一个根.假设所有节点编号是0-(n-1 ...

  2. ABAP Util代码

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. 线程入门之实现Runnable接口和继承Thread类

    线程的2种使用方式:实现Runnable接口和继承Thread类 1.实现Runnable接口 实现Runnable接口,必须实现run方法,也是Runnable接口中的唯一一个方法 class Ru ...

  4. FLASH CC 2015 CANVAS (六)如何像FLASH那样实现场景(多canvas)

    注意 此系列贴 为个人边“开荒”边写,所以不保证就是最佳做法,也难免有错误! 正式教程会在后续开始更新. swf 项目中,我们可以很容易在一个fla文档里创建多场景.也可以通过多个fla文件发布多个s ...

  5. git学习笔记10-新开发的功能不想要了-强行删除分支

    添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支. 现在,你终于接 ...

  6. php xml 操作。

    参考 文章:http://www.cnblogs.com/zcy_soft/archive/2011/01/26/1945482.html DOMDocument相关的内容. 属性: Attribut ...

  7. Linux下C程序的编译,运行,及调试

    先查看linux有没有gcc 和 gdb $ gcc -v $ gdb -v 如果没有安装gcc,可以 $ yum install gcc 要获取管理员权限才能安装软件,$ su root (有的li ...

  8. Spring事务配置

    Spring中事务的配置学习: 1.心法 Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一 ...

  9. JSON学习总结

    最近几天使用json的需求比较急迫,所以学习了一下json.此文仅当笔记,以防忘却. 此文主要分为js和java总结: 先介绍json格式: JSON 数据的书写格式是:名称/值对. ***:可以更容 ...

  10. Oracle的参数文件

    参数文件的作用: 它们是在数据库实例启动时候加载的,决定了数据库的物理结构.内存.数据库的限制及系统大量的默认值.数据库的各种物理属性.指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重 ...