Java异常
2015-08-25 00:01
465 查看
纸上得来终觉浅,绝知此事要躬行
--陆游 问渠那得清如许,为有源头活水来 --朱熹
一、java异常的超类是java.lang.Throwable
异常处理的类结构组成:
二、java异常分为两类Error和Exception:
Error是程序无法处理的错误,比如OutOfMemoryError、ThreadDeath等,这些异常发生JVM选择线程终止。
Exception是程序本身可以处理的异常分为两种:
(1)非运行时异常(发生在编译阶段,称为checkException):一般是指没有遵循java语言规范的错误,比较容易看出。
如NullPointerException、IndexOutOfBoundsException, 这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。
这些异常一般是由程序逻辑错误引起的, 程序应该从逻辑角度尽可能避免这类异常的发生。
(2)运行时异常(发生在程序运行过程中,称为uncheckException):一般发生在程序运行过程中出现的异常,比如空指针错误等等。
三、Java异常涉及到5个关键字:try,catch,finally,throw,throws
try{
尝试运行的程序代码
}
catch(异常类型 异常变量名)
{
异常处理代码,同时catch可以是多个,但只运行其中的一个
}
finally()
{
finally总在方法返回前运行,finally语句部分只有一个
}
throw关键字用于方法体内部,用来抛出一个throwable类型的异常,
throws关键字用于方法体外部的方法声明部分,用来声明方法可能会抛出哪些异常,
四、常见的异常:
NullPointException 空指针异常
ClassNotFoundException 找不到类
ClassCastException 类型转换
ArrayIndexOutOfBoundsException 数组越界
五、finally()
当在try和catch中有return语句的时候,finally都会被执行的。
--陆游 问渠那得清如许,为有源头活水来 --朱熹
一、java异常的超类是java.lang.Throwable
异常处理的类结构组成:
二、java异常分为两类Error和Exception:
Error是程序无法处理的错误,比如OutOfMemoryError、ThreadDeath等,这些异常发生JVM选择线程终止。
Exception是程序本身可以处理的异常分为两种:
(1)非运行时异常(发生在编译阶段,称为checkException):一般是指没有遵循java语言规范的错误,比较容易看出。
如NullPointerException、IndexOutOfBoundsException, 这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。
这些异常一般是由程序逻辑错误引起的, 程序应该从逻辑角度尽可能避免这类异常的发生。
(2)运行时异常(发生在程序运行过程中,称为uncheckException):一般发生在程序运行过程中出现的异常,比如空指针错误等等。
三、Java异常涉及到5个关键字:try,catch,finally,throw,throws
try{
尝试运行的程序代码
}
catch(异常类型 异常变量名)
{
异常处理代码,同时catch可以是多个,但只运行其中的一个
}
finally()
{
finally总在方法返回前运行,finally语句部分只有一个
}
throw关键字用于方法体内部,用来抛出一个throwable类型的异常,
throws关键字用于方法体外部的方法声明部分,用来声明方法可能会抛出哪些异常,
四、常见的异常:
NullPointException 空指针异常
ClassNotFoundException 找不到类
ClassCastException 类型转换
ArrayIndexOutOfBoundsException 数组越界
五、finally()
当在try和catch中有return语句的时候,finally都会被执行的。
相关文章推荐
- Java虚拟机
- Java异常
- Java虚拟机
- Java异常
- Java线程详解
- 如何实现主线程需要等待子线程的结果,然后才能往下执行。
- 图解 & 深入浅出 JavaWeb:Servlet必会必知
- Spring Aop 实现拦截器功能之基础 - 001
- Java web 项目搭建
- Introduction to Java Programming编程题9.5<统计字符串中数字的个数>
- 如何在 Java 中正确使用 wait, notify 和 notifyAll – 以生产者消费者模型为例
- java中变量存储位置
- eclipseRCP深入浅出(学习总结)2015.08.24
- java开发博客
- 关于用eclipse导入项目后提示gen already exists but is not a source folder的错误
- spring 第一个程序 hello
- 关于JDK配置环境变量的问题
- 05---JSON学习(Java)
- 启动maven项目报错:java.lang.ClassNotFoundException: ContextLoaderListener解决方法
- Introduction to Java Programming编程题9.7<将字符串中的字符转换为数字>