javathrowable
⑴ java中什么类是所有异常类的父类
告诉你什么类
没有什么意义,告诉你一个方法。1.
确定有JDK源码。2.
在eclipse
里,
按CTRL
+
ecception类类名,
就可以到exception类的原码,
在类的声明中,
看看有没有
extend
某个父类。3.
如果有
重复第2步的操作。4.
一直到没有
继承
自某个类,
那么最后这个类就是
所有异常的父类了。
⑵ JAVA 中 Throwable是所有异常类的祖先 对吗
拜托,以后请先看JDK.
public class Throwable extends Object implements Serializable
Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。 两个子类的实例,Error 和 Exception,通常用于指示发生了异常情况。通常,这些实例是在异常情况的上下文中新近创建的,因此包含了相关的信息(比如堆栈跟踪数据)。
⑶ 如何理解java.lang.Throwable
lang 是 language(语言) 的简写 是java中常用方法最多的包 包含常用类 软件包 java.lang 的描述提供利用 Java 编程语言进行程序设计的基础类。最重要的类是 Object(它是类层次结构的根)和 Class(它的实例表示正在运行的应用程序中的类)。
⑷ java中为何泛型类不能继承Throwable
意义,
异常发生在底层实现,
捕获异常在上层。
泛型,用于使用某个类的时候限制相关类型。
显然限制相关类型这个工作应该是哪里用哪里直到。
如果异常支持泛型,
那捕获异常的地方就要知道异常的泛型,也就必要知道了功能实现。
假设可以抛出有泛型的异常
如果说一个方法被声明为 throws SomeException<String>,SomeException<Number>
那么对于外界来说String的意义是什么
外界是否要捕获 分别SomeException<String> 和 SomeException<Number>?
还是只要捕获 SomeException<?>?
这无疑增加了异常处理的复杂度。
异常,最初设计就是为了把异常处理的代码和业务逻辑的代码分开,不会粘粘到一起。
这样可以在写业务逻辑的时候抛开泛型暂时不管,先把完整的业务逻辑写完,然后单独处理异常情况。
现在如果异常支持泛型,那么就会导致异常处理的复杂度增加。不能专心与业务逻辑。
⑸ Throwable怎么读啊 java里的所有的子类啊
Java 异常结构
异常时程序运行过程中产生的错误。
异常处理框架时java语言健壮性的一个重要体现。
Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。
在java API中已定义了许多异常类,这些异常类分为两大类,错误类Error和异常Exception。
Java异常体系结构呈树状,其层次结构如图:
Thorwable类所有异常和错误的超类,有两个子类Error和exception,分别表示错误和异常。
其中异常类Exception又分为运行时异常(RuntimeException)和检查异常(Checked Exception)。
两者的区别:
Error和Exception
Error是程序无法处理的错误,比如OutOfMemoryError、ThreadDeath等。这些异常发生时,java虚拟机(JVM)一般会选择线程终止。
Exception是程序本身可以处理的异常,这种异常分两大类:运行时异常和非运行时异常。程序中应当尽可能去处理这些异常。
运行时异常和非运行时异常
运行时异常都是RuntimeException类及其子类异常,如NullPointerException、IndexOutOfBoundsException等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是有程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。
非运行时异常是RuntimeException以外的异常,类型上属于Exception类及其子类。从程序角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如IOException、SQLException等以及用户自定义的Exception异常,一般情况下自定义检查异常。
⑹ Java编程中 常见的异常有哪几种
相信作为程序员的我们在对程序进行编译过程中经常会遇到错误,或者在运行过程中出现错误,在这里主要跟大家谈谈经常遇到的一些异常与错误,以及解决办法。
异常是指程序在编译或运行过程出现的错误。
在java.lang包中Throwable包含了所有的异常。
Error (错误) 和Exception(异常)
(1)Error(错误)
一旦发生无法修复,但可以避免发生。
常见错误类:
IOError:I/O错误,当发生严重的I/O错误时,抛出此错误。
VirtualMachineError:虚拟机错误,当 Java 虚拟机崩溃或用尽了它继续操作所需的资源时,抛出该错误。
StackOverflowError:栈内存满了,当应用程序递归太深而发生堆栈溢出时,抛出该错误。
OutofMemoryError:堆内存满了,因为内存溢出或没有可用的内存提供给垃圾回收器时,Java 虚拟机无法分配一个对象,这时抛出该异常。
以上是一些常见的错误,在Error类中还有一些别的错误(参照文件Java.lang.Throwable.Error).
(2)Exception(异常)
一旦发生,可以捕获并处理,不会导致程序终止,有时可以避免有时无法避免。
异常的分类:
1.编译时异常(需要强制处理) 2.运行时异常(不需要强制处理)
常见的异常有:
IOException:输入输出流异常
FileNotFoundException:文件找不到的异常
ClassNotFoundException:类找不到的异常
DataFormatException:数据格式化异常
NoSuchFieldException:没有匹配的属性异常
NoSuchMethodException:没有匹配的方法异常
SQLException:数据库操作异常
TimeoutException:执行超时异常
常见的运行时异常:
RuntimeException:运行时异常
NullPointerException:空指针异常
:数组越界异
ClassCastException:类型转换异常
IllegalArgumentException:非法的参数异常
InputMismatchException:输入不匹配
以上是常见的一些异常,另外还有别的异常,参见文件:Java.lang.Throwable.Exception
既然我们常常会遇到一些异常,那我们如何来处理这些异常就是一个急需解决的事情。
(1) 如何处理编译时异常?
方法一:将需要处理的代码块放在一个try...catch...中
try{
//需要处理异常的代码
}catch(XXXException ef){
ef.printStackTrace();
}
我们方法一就是要将我们不确定的代码放入try......catch中,先进行try一下,如果没有异常,则不会触发catch,没有输出,一旦出现异常,那么catch就会工作,在catch中捕获异常信息,根据异常信息进行补救措施。
如以下代码:
从结果可以看出,我们在输入数据的时候出现错误,这样通过自定义异常能够让我们更直接快速的找到运行或编译时的异常。
在上述中我们分别提到了三种throw,分别是Throwable,Throws以及throw,那么到底三者有什么区别?
Throwable:是指在在Java.lang包中的一个类,其包含了所有的异常和错误,其中类Error和Exception 是它
的子类。
Thows:是指在解决编译时异常,将方法中异常抛给上一级,在方法后面要加Throw Exception来进行抛。
throw:是指在自定义异常时,如果方法出现异常,那么将作为引用方法的对象抛出。即抛出异常。
希望对您有所帮助!~
⑺ Java编程中常见的错误有哪些
相信作为程序员的我们在对程序进行编译过程中经常会遇到错误,或者在运行过程中出现错误,在这里主要跟大家谈谈经常遇到的一些异常与错误,以及解决办法。
异常是指程序在编译或运行过程出现的错误。
在java.lang包中Throwable包含了所有的异常。
Error (错误) 和Exception(异常)
(1)Error(错误)
一旦发生无法修复,但可以避免发生。
常见错误类:
IOError:I/O错误,当发生严重的I/O错误时,抛出此错误。
VirtualMachineError:虚拟机错误,当 Java 虚拟机崩溃或用尽了它继续操作所需的资源时,抛出该错误。
StackOverflowError:栈内存满了,当应用程序递归太深而发生堆栈溢出时,抛出该错误。
OutofMemoryError:堆内存满了,因为内存溢出或没有可用的内存提供给垃圾回收器时,Java 虚拟机无法分配一个对象,这时抛出该异常。
以上是一些常见的错误,在Error类中还有一些别的错误(参照文件Java.lang.Throwable.Error).
(2)Exception(异常)
一旦发生,可以捕获并处理,不会导致程序终止,有时可以避免有时无法避免。
异常的分类:
1.编译时异常(需要强制处理) 2.运行时异常(不需要强制处理)
常见的异常有:
IOException:输入输出流异常
FileNotFoundException:文件找不到的异常
ClassNotFoundException:类找不到的异常
DataFormatException:数据格式化异常
NoSuchFieldException:没有匹配的属性异常
NoSuchMethodException:没有匹配的方法异常
SQLException:数据库操作异常
TimeoutException:执行超时异常
常见的运行时异常:
RuntimeException:运行时异常
NullPointerException:空指针异常
:数组越界异
ClassCastException:类型转换异常
IllegalArgumentException:非法的参数异常
InputMismatchException:输入不匹配
以上是常见的一些异常,另外还有别的异常,参见文件:Java.lang.Throwable.Exception
既然我们常常会遇到一些异常,那我们如何来处理这些异常就是一个急需解决的事情。
(1) 如何处理编译时异常?
方法一:将需要处理的代码块放在一个try...catch...中
try{
//需要处理异常的代码
}catch(XXXException ef){
ef.printStackTrace();
}
我们方法一就是要将我们不确定的代码放入try......catch中,先进行try一下,如果没有异常,则不会触发catch,没有输出,一旦出现异常,那么catch就会工作,在catch中捕获异常信息,根据异常信息进行补救措施。
如以下代码:
从结果可以看出,我们在输入数据的时候出现错误,这样通过自定义异常能够让我们更直接快速的找到运行或编译时的异常。
在上述中我们分别提到了三种throw,分别是Throwable,Throws以及throw,那么到底三者有什么区别?
Throwable:是指在在Java.lang包中的一个类,其包含了所有的异常和错误,其中类Error和Exception 是它
的子类。
Thows:是指在解决编译时异常,将方法中异常抛给上一级,在方法后面要加Throw Exception来进行抛。
throw:是指在自定义异常时,如果方法出现异常,那么将作为引用方法的对象抛出。即抛出异常。
⑻ Java中为什么有的类实现了一个空接口,比如throwable有什么意义
就是一个标志而已,告诉jvm实现了这个空接口的类才具有一些特定的功能。
⑼ 如何理解java.lang.Throwable
Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。
⑽ throwable和Exception的区别(详细一点)
throwable和exception的区别:
1、throwable是父类,exception是子类。
2、throwable是根基,exception是从throwable派生出来的。
3、throwable中包括exception(异常)和error(错误)。
4、throwable用来定义所有可以作为异常被抛出来的类,exception专指程序本身可以处理的异常,一般性的异常。
在Java程序中,所有异常对象的根基类是Throwable,Throwable从Object直接继承而来(这是Java系统所强制要求的)。Throwable有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。
(10)javathrowable扩展阅读:
Error(错误)是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM(Java 虚拟机)出现的问题。Exception(异常)是程序本身可以处理的异常。
Error是一种严重的问题,应用程序不应该捕捉它。Exception一般可能是程序和业务上的错误,是可以恢复的。