一、finally{  
},finally块中放入一定要执行的代码,通常用来关闭数据库,关闭链接,节约资源,所以finally中的内容一定要被执行,但是有一张情况不被执行,就是catch(Exception
e){System.exit(0);}执行这个语句,系统直接退出了。

二、对异常的总结;

1.异常的概念:程序运行有可能出现问题,然后把问题进行对象的封装。

2.体系:Throwable:异常分为两种:一种是严重的情况,用Error表示,一般不作处理,它的子类都以error作为后缀;另一种是不严重的异常,它用Exception表示,它的子类都以Exception作为后缀,其中有一个比较特殊的子类,就是RuntimelException
运行时异常,抛出此异常,不用在函数体上声明,编译时不做处理;如果声明了,调用者可以处理,也可以不作处理,程序停止运行,需要修改传入的参数;

3、区别两个关键字的使用:throw和throws:

throw:是定义在函数体内,用来抛出对象;而throws定义在函数体上,用来抛出异常类名。

4.异常按照处理过程中分类为两种:

(1)、编译时异常:抛出异常对象时,要声明抛出异常,如果不声明;编译出错,如果声明了,调用者,就要做出相应的处理;要么抛出,要么try,否则出错;

(2)、运行时异常:就是编译时不做处理,然后运行时,程序停止运行。RuntimeException,这时就要修改传递进来的参数。

5、异常处理的几种格式:

try
{      
} catch(Exception 
e){            
}

try
{       }
catch(Exception
e)finally{           
}

try {       }finally{          
}

6.异常在子父类中的体现:如果子类重写了父类中的方法,而父类中的方法抛出异常,那么子类要么抛出父类异常,要么抛出子类异常,总之,要让父类异常能够处理。

7.如果父类方法抛出多个异常,那么子类在重写父类中的方法时,只能抛出父类异常的子类。

8,如果父类或者接口中的方法没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常,如果子类中确实出现了异常,那么就必须处理,绝对不能抛出。

下面通过一个代码来体现一下:

class ExceptionDemo6

{

 public static void main(String[] args)

 {

   Circle c=new Circle(-9);

   c.getArea();

  

 }

}

//定义一个异常

class NoValueException extends RuntimeException

{

  NoValueException(String message)

 {

  super(message);

 }

}

//定义一个接口,里面有一个方法,获取面积

interface Cir

{

 void getArea();

}

//定义一个圆

class Circle implements Cir

{

 private double r;

 public static final double
PI=3.14;//定义一个全局常量;

   
Circle(double r)  throws RuntimeException

 {

  this.r=r;

  if(r<=0)

throw new
NoValueException("非法值");

 }

 public void getArea()

 {

  System.out.println(r*r*PI);

}

}

异常的应用finally与总结的更多相关文章

  1. alias导致virtualenv异常的分析和解法

    title: alias导致virtualenv异常的分析和解法 toc: true comments: true date: 2016-06-27 23:40:56 tags: [OS X, ZSH ...

  2. ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”

    在<ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式>中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应的中间件来完成,接下来我们将 ...

  3. 记一次tomcat线程创建异常调优:unable to create new native thread

    测试在进行一次性能测试的时候发现并发300个请求时出现了下面的异常: HTTP Status 500 - Handler processing failed; nested exception is ...

  4. 使用JSONObject.fromObject的时候出现“There is a cycle in the hierarchy”异常 的解决办法

    在使用JSONObject.fromObject的时候,出现“There is a cycle in the hierarchy”异常.   意思是出现了死循环,也就是Model之间有循环包含关系: ...

  5. SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论

    异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#signalR 后台创建了一个DntHub的集线器 前台在调用的时候出现了问题(经检查是代理对象 ...

  6. [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?

    你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...

  7. [C#] C# 知识回顾 - 学会处理异常

    学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...

  8. [C#] C# 知识回顾 - 学会使用异常

    学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...

  9. [C#] C# 知识回顾 - 异常介绍

    异常介绍 我们平时在写程序时,无意中(或技术不够),而导致程序运行时出现意外(或异常),对于这个问题, C# 有专门的异常处理程序. 异常处理所涉及到的关键字有 try.catch 和 finally ...

  10. 基于AOP的MVC拦截异常让代码更优美

    与asp.net 打交道很多年,如今天微软的优秀框架越来越多,其中微软在基于mvc的思想架构,也推出了自己的一套asp.net mvc 框架,如果你亲身体验过它,会情不自禁的说‘漂亮’.回过头来,‘漂 ...

随机推荐

  1. HDU 5534 Partial Tree 完全背包

    一棵树一共有2*(n-1)度,现在的任务就是将这些度分配到n个节点,使这n个节点的权值和最大. 思路:因为这是一棵树,所以每个节点的度数都是大于1的,所以事先给每个节点分配一度,答案 ans=f[1] ...

  2. javaScript动态给下拉列表框添加选项

    方式一: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></titl ...

  3. Base-Android快速开发框架(三)--数据存储之SQLite

    SQLite,是一款轻量级的关系型数据库,Android原生集成的一个数据库.具有轻量级.独立性.隔离性.安全性等特点.是Android做数据存储的必备知识之一. 在实际的项目中,我们常用于一些对象的 ...

  4. VIP网络水军账号

    作为一个技术部的组长,主管公司用户相关的项目.今天一名营销同事找我说他想长生3000个水军账号,我首先就想到了以下几个问题: 1.如何实现 2.产生水军对运营项目的影响,主要问题就是一个真实性问题. ...

  5. uva 11019 Matrix Matcher

    题意:给出一个n*m的字符矩阵T,你的任务是找出给定的x*y的字符矩阵P在T中出现了多少次. 思路:要想整个矩阵匹配,至少各行都得匹配.所以先把P的每行看做一个模式串构造出AC自动机,然后在T中的各行 ...

  6. UI进阶 数据处理之文件读写

    目录: 1-------沙盒机制(SandBox) 2-------简单对象的读写(I/O)操作 3-------复杂对象的读写(I/O)操作 一.沙盒机制(SandBox) 什么是沙盒:每个iOS应 ...

  7. C++学习笔记(九):作用域和命名空间

    作用域 作用域规则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域).变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号.也就是说,作用域由变 ...

  8. ASP.Net Core-TagHelpers

    当我们新建了一个.Net Core类型的Project时,我们会看到页面上有类似于这样的代码: 当我们运行项目,查看源代码会发现,浏览器中的就是Html代: 那么,为什么我们在页面写的代码会转化为ht ...

  9. android studio里的build.gradle基本属性

    //声明是android 程序 apply plugin: 'com.android.application' android { //编译SDK版本 compileSdkVersion 23 // ...

  10. iOS stretchableImageWithLeftCapWidth 图片放大不变形

    转载自:http://www.cnblogs.com/bandy/archive/2012/04/25/2469369.html - (UIImage *)stretchableImageWithLe ...