java:异常处理机制 try-catch-throw-finally

原创 2014年05月10日 17:53:03

try:

关键字

{

1、使用它的目的?

顾名思义:试一试嘛。一段会报错的代码,如果没有try的话,出现异常会导致程序崩溃。而try则可以保证程序的正常运行下去。

2、举例?

try

{

int i = 1/0;

System.out.println("我还有幸执行到吗");// 发生异常以后,后面的代码不能被执行

}

catch(Exception e)

{

System.out.println(e.ToString());
}

一个计算的话,如果除数为0,则会报错,如果没有try的话,程序直接崩溃。用try的话,则可以让程序运行下去,并且输出为什么出错。

}


catch:

关键字

{

1、它的意思是?

如果从上一段try{}代码捕捉到异常,则执行catch{}内代码

2、Exception异常类的意义?

Exception:它指出了合理的应用程序想要捕获的条件。

Exception分为两类:CheckedException,UncheckedException。

CheckedException需要用try...catch...显示的捕获,而UncheckedException不需要捕获。UncheckedException又叫做RuntimeException。《effective java》指出:对于可恢复的条件使用被检查的异常(CheckedException),对于程序错误(言外之意不可恢复,大错已经酿成)使用运行时异常(RuntimeException)。

我们在编写程序过程中try...catch...捕捉的异常都是CheckedException。io包中的IOException及其子类,这些都是CheckedException。

他是一个类,可以被继承。

3、举例?

看try那一条的例子

}

Exception:

 异常类

{

1、常用的异常类有哪些?

1)java.lang.nullpointerexception
异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象
2)java.lang.classnotfoundexception
异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可
3) java.lang.arithmeticexception
这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常
4) java.lang.arrayindexoutofboundsexception
异常的解释是"数组下标越界"
5)java.lang.illegalargumentexception
这个异常的解释是"方法的参数错误"
6)java.lang.illegalaccessexception
这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。
其他还有很多异常。

2、如何知道根类Exception是哪个异常类?

用instanceof可以if (e instanceof NullPointerException) {}。

instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

result = object instanceof class

如果存在object是class 的一个实例则result 返回true 否则false


}


throw:

关键字

{

1、它的意思?

抛出某种异常。一般一个catch接受上一个try试出的异常,返回到catch中的exception变量中。catch总是接收上一个try的异常,但要接收其他try的异常,就需要用到抛出了。

2、使用方法?

public class Rethrow {

public static void readFile(String file) throws FileNotFoundException

 {

try

 {

BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));

catch (FileNotFoundException e)

 {

e.printStackTrace();

System.err.println("不知道如何处理该异常或者根本不想处理它,但是不做处理又不合适,这是重新抛出异常交给上一级处理");

//重新抛出异常

throw e;

}

}


public static void printFile(String file)

 {

try 

{

readFile(file);

catch (FileNotFoundException e) 

{

e.printStackTrace();

}

}


public static void main(String[] args) 

{

printFile("D:/file");

}

}

}


finally:

关键字

{

1、它的含义?

finally在异常处理时提供finally块来执行所有清除操作。主要与try-catch-finally配合使用。

2、它的用法?

finally语句块的作用是无论出现什么情况,finally块中的语句一定会被执行,并且是在return之前执行。不管你return写在哪里。

根据JAVA规范,如果try-finally或者catch-finally中都有return,则2个return都执行并最终返回调用者那里的是finally中的return,如果finally中没有return则返回的是catch中的return,但是finally中的代码也是要执行的。

3、举例?

public class TestException
{

public TestException()

{}

boolean testEx() throws Exception

{

boolean ret = true;

try

{

ret = testEx1();

}

catch (Exception e)

{

System.out.println("testEx, catch exception");

ret = false;

throw e;

}

finally

{

System.out.println("testEx, finally; return value=" + ret);

return ret;

}

}

}

java的异常处理机制详解

Java异常的处理主要依赖于try,catch,finally,throws,throw这五个关键字。下面分别介绍它们:...
  • zx64881926
  • zx64881926
  • 2016年08月24日 14:35
  • 1045

JAVA中的异常处理机制及异常分类

JAVA的异常处理机制:如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的...
  • sinat_36713319
  • sinat_36713319
  • 2017年04月01日 16:18
  • 3957

java异常处理机制简要概述

**Java异常处理机制**
  • glyly555
  • glyly555
  • 2017年07月15日 14:59
  • 435

Java中的异常处理机制的简单原理?

答:    1:java常见异常架构图          1、  粉红色的是受检查异常(checked exception),其必须被try{}catch语句块所捕获,或者在方法签名里通过t...
  • goutiantian
  • goutiantian
  • 2015年10月28日 00:34
  • 1198

Java语言中的异常处理机制

Java中有一个Throwable的类,它有两个子类,一个是Error类,另一个是Exception类。对于错误而言,是很难解决的,比如内存溢出等,不能够通过异常处理来解决;异常是程序中发生的不正常事...
  • qq_36389108
  • qq_36389108
  • 2016年10月18日 18:33
  • 157

Java异常处理机制的简单原理和应用

异常是指Java程序运行时所发生的非正常情况或者错误,就像人们正常生活发生的意外事件、在什么地点, 可以 用一个对象来表示,Java采用面向对象的方式来处理异常,把程序中发生的每个异常都封装到一个对象...
  • JavaReact
  • JavaReact
  • 2017年07月10日 11:17
  • 653

java异常处理机制及两种异常的区别

java异常处理机制主要依赖于try,catch,finally,throw,throws五个关键字。   try 关键字后紧跟一个花括号括起来的代码块,简称try块。同理:下面的也被称为相...
  • ningxuezhu
  • ningxuezhu
  • 2012年10月07日 12:25
  • 9741

java中异常处理机制

try{ //代码区 }catch(Exception e){ //异常处理 } 代码区如果有错误,就会返回所写异常的处理。   首先要清楚,如果没有try的话,出现异常会导致程序崩溃。...
  • holandstone
  • holandstone
  • 2014年04月09日 22:34
  • 817

java 详解异常处理原理

一、Java异常处理机制的优点 在一些传统的编程语言,如C语言中,并没有专门处理异常的机制,程序员通常用方法的特定返回值来表示异常情况,并且程序的正常流程和异常流程都采用同样的流程控制语句。 ...
  • qilixiang012
  • qilixiang012
  • 2014年07月17日 23:01
  • 3862

java异常处理机制简述

Java的异常处理机制是这样的 try{}是监控的代码,catch{}是处理异常,finally{}是无论是否发生异常,无论异常是否处理都会执行的代码。而finally后面的代码是否执行的关键就是是否...
  • sinat_19351993
  • sinat_19351993
  • 2014年08月12日 10:31
  • 691
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java:异常处理机制 try-catch-throw-finally
举报原因:
原因补充:

(最多只允许输入30个字)