JAVA学习笔记整理四(异常处理)

原创 2016年05月30日 20:52:36

异常处理的格式

异常:异常是导致程序中断运行的一种指令流,当异常发生时,如果没有进行良好的处理,则程序将会中断执行。

try{

} catch (异常类 异常对象) {

}finally{

}

不管是否出现异常,都会执行finally语句中的代码,但是finally语句可省略(此语句块的编写中尽量不出现throw与return这样的语句,以避免不必要的问题出现)。

异常的分类

异常是一个对象,它继承自Throwable类,所有的Throwable类的子孙类所产生的对象都是异常(不能直接抛出Throwable类,最大只能抛出Exception类):

Exception:一般表示的是程序中出现的问题,可以直接使用try…catch进行处理

Error:由Java虚拟机生成并抛出,是不指望程序能从其恢复过来的灾难性故障。所以程序员不需要捕捉各处理它们

抛出异常

一个方法不处理它产生的异常,而是沿着调用层次向上传递,由调用它的方法来处理这些异常,叫抛出异常

方法:在产生异常的方法名后面加上要抛出(throws)的异常的列表

  (public int div(int I,int j) throwsException{})

实例应用

public class ExceptionDemo {
	public static void main(String[] args) {
		Math math = new Math();
		try {
			System.out.println("除法操作" + math.div(10, 0));
		} catch (Exception e) {//进行异常的捕获
			System.out.println("异常产生:" + e);//处理异常
		}
	}
}

class Math {
	public int div(int i, int j) throws Exception{//方法可以不处理异常
		System.out.println("======计算开始=====");
		int temp = 0;
		try {
			temp = i / j;
		} catch (Exception e) {//捕获异常
			throw e;//不处理,把异常交给被调用处
		} finally {//不管如何都执行
			System.out.println("======计算结束=====");
		}
		return temp;
	}
}

//======计算开始=====
//======计算结束=====
//异常产生:java.lang.ArithmeticException: / by zero

执行过程如下:


Exception类与RuntimeException类

Exception:在程序中必须使用try…catch进行处理

RuntimeException:可以不使用try…catch进行处理,如果有异常产生,将由JVM进行处理

断言

assert  boolean 表达式 (:详细的信息);

如果表达式的结果为true,则什么错误信息都不会提示;如果为false,则会提示错误信息,如果没有声明详细的信息描述,则系统会使用默认的错误信息提示方式

public class AssertDemo {
	public static void main(String[] args) {
		int x[] = { 1, 2, 3 };
		assert x.length == 0 : "数组长度不为0";
	}
}

要想使断言起作用,在JAVA运行时,应加入“-enableassertions”参数,也可简写为“-ea”

编译程序:javac AssertDemo.java

验证程序:java –ea AssertDemo



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

《Java异常处理》学习笔记

1.异常处理对性能的影响 一般来说,在Java程序中使用try…catch语句不会对应用的性能造成很大的影响。仅仅当异常发生时,Java虚拟机需要执行额外的操作,来定位处理异常的代码块,这是会对性能...

JAVA学习笔记(异常处理)

关于finally块的运行顺序,在学习阶段不是很明确。查询了一些资料后,大概可以得出以下结论:“finally块是在下级函数向上级调用的函数跳转前(无论是通过return还是throw excepti...
  • fatever
  • fatever
  • 2017年05月12日 09:20
  • 133

Java语言异常处理学习笔记续

前一篇写的几个程序让我们知道了如果框架中出现退出程序的语句异常处理机制是如何运行的,那么如果框架中出现return语句结果又如何呢? public class TryCatch{  public ...

Java学习笔记——自定义异常处理

例子阐述:通过三层架构来完成输入的数字必须是整型,如果不符合,抛出异常且日志记录 自定义异常; public class LovoException extends Excepti...

尚硅谷java学习笔记——6.异常处理

q

【Java学习笔记】异常处理

Java异常概念 java异常的分类 异常的捕获和处理是指在运行期出现的错误 观察错误的名字和行号最重要 异常的概念 Java异常是Java提供的用于处理程序中错误的一种机制。 所谓错误是指在程序运行...

java学习笔记9——异常处理

在java编程中,有一个特殊的机制叫做异常处理,这里进行一下总结。

java学习笔记七——异常处理

****Java异常处理**** 异常:程序中出现错误导致中断了正常的指令流。 编译错误逻辑错误都不是异常,异常是可以正常运行的程序在运行中可能发生的错误。没有异常处理的代码可能非正常结束出现严重的...

Java语言异常处理学习笔记

学习过java的都知道异常处理的框架: 它的执行过程一般分为两条线: 1.try语句块中没有异常,则正常执行try语句块,catch和finally中的语句不被执行。 2.try语句中有异常...

Java学习笔记--异常处理

我们在写程序的时候经常会出现许多意想不到的错误,在Java中,错误也是被包装成了各种子类实例。只要我们能捕捉到包装错误的对象,就能做出对应的处理方式。 语法与继承架构使用try,catch Jav...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA学习笔记整理四(异常处理)
举报原因:
原因补充:

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