Java千百问_04异常处理(001)_什么是java中的异常

1、java异常是什么

java在执行期间产生了某些问题,导致执行中断,这一问题就称为异常。
不同的原因都可能产生异常,包括以下内容:
==用户输入无效数据。
==需要打开的文件不存在。
==网络连接已丢失。
==JVM已经耗尽内存。
==将null当作某种对象进行操作。

2、异常都分为哪些

要了解在Java中如何异常处理工作,需要了解三类异常:
检查异常(checked exception)
检查异常通常是用户错误,程序员并不可预见的问题。例如,如果一个文件被打开,但该文件无法找到,则会出现异常。这些异常并不能在编译时被发现。
运行时异常(runtime exception也叫unchecked exception)
运行时异常时本来可以由程序避免的异常。而不是已检查异常,运行时异常是在编译时被忽略。这里的运行时异常并不是我们所说的运行期间产生的异常,只是Java中用运行时异常这个术语来表示而已。另外,所有Exception异常都是在运行期间产生的。
错误(error)

无法处理的异常,比如OutOfMemoryError,一般发生这种异常,JVM会选择终止程序。因此我们编写程序时不需要关心这类异常。

要想自定义异常看这里:如何自定义异常

3、异常层次结构是怎样的


在Java中,所有异常类的父类是Throwable类,Error类是error类型异常的父类,Exception类是exception类型异常的父类,RuntimeException类是所有运行时异常的父类,RuntimeException以外的并且继承Exception的类是非运行时异常。
常见的RuntimeException包括NullPointerException、IndexOutOfBoundsException、IllegalArgumentException等。
常见的非RuntimeException包括IOException、SQLException等。

4、异常提供哪些方法

以下是Throwable类中比较重要的方法。
public String getMessage()
返回有关已发生异常的详细消息。此消息在Throwable的构造函数中被初始化。
public Throwable getCause()
返回异常由一个Throwable对象所表示的错误原因。
public String toString()
返回getMessage()结果的名称。
public void printStackTrace()
打印toString()结果以及堆栈跟踪信息到System.err,输出错误流。
public StackTraceElement [] getStackTrace()
返回堆栈跟踪信息的数组。索引为0的元素表示堆栈的顶部,最后一个元素表示堆栈的底部。

如何捕获java中异常看这里:如何捕获异常

如何将异常抛出看这里:如何抛出异常

原文地址:http://blog.csdn.net/ooppookid/article/details/51078948

时间: 2025-01-21 13:59:09

Java千百问_04异常处理(001)_什么是java中的异常的相关文章

Java千百问_04异常处理(005)_如何自定义异常

1.如何定义自己的异常 Java支持自己创建的异常.了解异常看这里:什么是java中的异常 方法如下: 1.所有的异常必须是Throwable的子类. 2.如果想写一个检查异常,需要扩展Exception类. 3.如果想编写一个运行时异常,则需要扩展RuntimeException类. 4.异常类与任何其他类一样,可以包含字段和方法. 我们可以定义如下自己的异常处理类: [java] view plain copy   class MyException extends Exception{  

Java千百问_04异常处理(007)_常见的java异常有哪些(非运行时)

1.常见的java运行时异常有哪些 了解非运行时异常看这里:什么是java中的异常  常见的运行时异常看这里:常见的运行时异常有哪些 我们所说的常见异常是jdk或者其他常用第三方jar中的异常,出现频次很高的异常.常见的非运行时异常(即检查异常,checked exception)包括: 操作数据库异常:SQLException 输入输出异常:IOException 文件未找到异常:FileNotFoundException 反射操作异常:ReflectiveOperationException

Java千百问_04异常处理(006)_常见的Java异常有哪些(运行时)

1.常见的java运行时异常有哪些 了解运行时异常看这里:什么是java中的异常 常见的非运行时异常看这里:常见的非运行时异常有哪些 我们所说的常见异常是指jdk或者其他常用第三方jar中,出现频次很高的异常.常见的运行时异常(RuntimeException)包括: 空指针异常类:NullPointerException 数组下标越界异常:ArrayIndexOutOfBoundsException 数组负长度异常:NegativeArraySizeException 数组存储异常:Array

Java千百问_04异常处理(008)_java中常见的错误有哪些

java中常见的错误有哪些 想了解异常看这里:什么是java中的异常  常见的运行时异常看这里:常见的Java异常有哪些(运行时)  常见的非运行时异常看这里:常见的java异常有哪些(非运行时) Java中除了异常Exception之外,还有一大类错误,即ERROR,我们常见的ERROR如下: 1.java.lang.Error 错误.是所有错误的基类,用于标识严重的程序运行问题.这些问题通常描述一些不应被应用程序捕获的反常情况.  原因: 对系统所访问外部资源,未执行关闭操作,导致外部资源大

Java千百问_03基本语法(004)_java中的运算符都有哪些

java中的运算符都有哪些 Java提供了丰富的运算符来操纵变量.如果不知道什么是变量,看这里:局部变量.类变量.实例变量有什么区别 我们可以把所有的Java操作符为以下几组(除位运算和其它运算符之外,其他几种操作无几乎是java中使用频率最高的语法): 算术运算符.关系运算符.逻辑运算符.赋值运算符.位运算符.其它运算符 下面来仔细说明.运算符的优先级看这里:java运算符的优先级是怎样的 1.算术运算符 算术运算符用于在数学表达式中,他们是在代数中使用的方法相同.假设整型变量a=20,b=1

Java千百问_03基本语法(009)_java中如何循环执行

java中如何循环执行 首先,我们看看循环是什么 1.循环是什么 当我们需要多次执行同样的代码段,通常被称为一个循环.伴随循环经常出现的关键字:break与contine分别如何使用 Java有非常灵活的三种循环机制:while 循环do...while 循环for 循环 2.什么是while循环 while循环可以按照特定的次数重复执行任务. 语法: [java] view plain copy   while(Boolean flag)   {   //代码段   }   在执行时,如果fl

Java千百问_05面向对象(003)_java中抽象概念如何体现的

点击进入_更多_Java千百问 1.抽象是什么 抽象,和具体对立,定义了事物的性质,事物的性质会随着抽象概念的改变而改变. 2.java中的抽象类是什么 Java中最直接抽象概念的应用就是抽象类和接口,这里我们看一下抽象类. 抽象类和普通类一样,是一个模版.相比普通类,抽象类不具备实例化对象的能力.抽象类也可以定义属性和方法,比之普通类,它还可以定义没有实现的方法,即抽象方法.  通常会用一个具体类(子类)继承抽象类(父类),实现抽象类中的抽象方法.父类包含子类的集合的通用功能,但父类本身过于抽

Java千百问_03基本语法(002)_java都有哪些关键字

java都有哪些关键字 首先我们来看看什么是关键字,关键字的含义. 1.java关键字是什么意思 关键字是电脑语言里事先定义的,有特别意义的特殊标识符,又叫保留字. Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等等,Java规定关键字不能用作自定义标识符(包括变量名.方法名.类名.包名和参数等等). 2.java都有哪些关键字 目前共有50个Java关键字,如下.其中,"const"和"goto"这两个关键字在Java

Java千百问_01基本概念(001)_什么是Java

什么是Java Java是一种开发语言(核心特点:跨平台,面向对象,名称由来看这里:J2EE里面的2是什么意思),对于开发者来讲,Java基本等于Jdk. Jdk的版本介绍看这里:Java都有那些版本 开发人员一般通过IDE(Eclipse.NetBeans.JBuilder等)编写.编译Java代码(在远古没有IDE的时代,都是用文本编辑器编写,使用javac编译),在这个过程中,会使用到Jdk与第三方Jar包(Jar包即一组编译后的类打成的压缩包,可以使用解压工具解压成文件结构). 想知道J