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

异常由来:问题也就是现实生活中一个具体的食物,也可以通过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. 蒙特卡洛法计算定积分—Importance Sampling

    如上图所示,计算区间[a  b]上f(x)的积分即求曲线与X轴围成红色区域的面积.下面使用蒙特卡洛法计算区间[2  3]上的定积分:∫(x2+4*x*sin(x))dx # -*- coding: u ...

  2. Know How To Use Check Box Mapping Of Other Values Property In Oracle Forms

    Check Box Mapping of Other Values specifies how any fetched or assigned value that is not one of the ...

  3. CUBRID学习笔记 31 通过select创建表

    语法 CREATE {TABLE | CLASS} <table_name> [( <column_definition> [,<table_constraint> ...

  4. CALayer总结(二)

    1.CATransaction 事务: UIView有两个方法,+beginAnimations:context:和+commitAnimations,和CATransaction的+begin 和+ ...

  5. linux的计划任务crontab

    crontab(全称cron table计划任务列表)是一个用于周期性被执行的任的工具. 相关指令: usage: crontab [-u user] file   crontab [ -u user ...

  6. Python基础学习笔记(六)常用列表操作函数和方法

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-lists.html 3. http://www.liaoxuef ...

  7. Python标准库之Sys模块使用详解

    sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sy ...

  8. 关于PHP HTML <input type="file" name="img"/>上传图片,图片大小,宽高,后缀名。

    在我们的系统中,不免要上传图片,视频等文件,在上传中,需要做的一些判断,文件大小等方面. 注意: 在php.ini 中的post_max_size,upload_max_filesize默认为2M,在 ...

  9. DOS命令解释程序的编写

    实验一.DOS命令解释程序的编写 专业:物联网工程   姓名:黄淼  学号:201306104145 一. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法 ...

  10. mysql 求时间段平均值

    考虑下面的需求,在一段时间内,间隔一段时间,取一个平均值,把所有的平均值取出来,怎么办?思路:在存储过程中,拼接sql语句.根据起始时间和结束时间,while循环每次加一段时间.DROP PROCED ...