Java提供了两类主要的异常:runtime exception和checked exception.所有的checked exception是从java.lang.Exception类衍生出来的,而runtime exception则是从java.lang.RuntimeException或java.lang.Error类衍生出来的。
它们的不同之处表现在两方面:机制上和逻辑上。
一、机制上
它们在机制上的不同表现在两点:1.如何定义方法;2. 如何处理抛出的异常。请看下面CheckedException的定义:
public class CheckedException extends Exception
{
public CheckedException() {}
public CheckedException( String message )
{
super( message );
}
}
以及一个使用exception的例子:
public class ExceptionalClass
{
public void method1()
throws CheckedException
{
// ... throw new CheckedException( “...出错了“ );
}
public void method2( String arg )
{
if( arg == null )
{
throw new NullPointerException( “method2的参数arg是null!” );
}
}
public void method3() throws CheckedException
{
method1();
}
}
你可能已经注意到了,两个方法method1()和method2()都会抛出exception,可是只有method1()做了声明。另外,method3()本身并不会抛出exception,可是它却声明会抛出CheckedException.在向你解释之前,让我们先来看看这个类的main()方法:
public static void main( String[] args )
{
ExceptionalClass example = new ExceptionalClass();
try
{
example.method1();
example.method3();
}
catch( CheckedException ex ) { } example.method2( null );
}
在main()方法中,如果要调用method1(),你必须把这个调用放在try/catch程序块当中,因为它会抛出Checked exception.
分享到:
相关推荐
Java 中 Checked Exception 与 Runtime Exception 的区别 Java 中的异常处理机制是 Java 语言的一个重要特色,它允许程序产生例外状况。在学习 Java 时,我们需要了解不同种类的异常的区别。Java 提供了两种异常...
Exception 又可以分为两种:Checked Exception 和 Runtime Exception。Checked Exception 是编译器检查的异常,例如 IOException、SQLException 等。Runtime Exception 是运行时异常,例如 NullPointerException、...
Exception 则是可以捕捉的,Java 提供了两类主要的异常:runtime exception 和 checked exception。checked 异常也就是我们经常遇到的 IO 异常,以及 SQL 异常都是这种异常。对于这种异常,JAVA 编译器强制要求我们...
Java提供了两类主要的异常:runtime exception和checked exception。所有的checked exception是从java.lang.Exception类衍生出来的,而runtime exception则是从java.lang.RuntimeException或java.lang.Error类...
异常类可以分为两种:Checked Exception 和 Runtime Exception。 1. Checked Exception Checked Exception 是指编译器检查的异常。这种异常需要在方法的throws子句中声明,否则编译器将报错。例如,IOException ...
异常分为两种类型:检查性异常(Checked Exceptions)和运行时异常(Runtime Exceptions)。检查性异常是那些在编译时就应当预见并处理的异常,如`IOException`、`SQLException`等。如果可能抛出检查性异常的方法...
在Java中,异常主要分为两大类:`Checked Exception`(检查型异常)和`Runtime Exception`(运行时异常)。其中,`Checked Exception`是编译器强制要求处理的异常,通常代表了应用程序可以预见并应该处理的错误;而`...
能够区分checked exception和 runtime exception 会使用 try-catch-finally 处理异常 方法声明异常 抛出异常 自定义异常类 语法错误, 运行期错误, 逻辑错误 语法错误: 没有遵循语法规则导致的错误。 运行期错误: ...
Java 异常可以分为两大类:Checked Exception 和 Runtime Exception。 Checked Exception 是编译器在编译过程中检查的异常,这些异常必须在编译时被捕获和处理。常见的 Checked Exception 有 IOException、...
`Exception`类进一步分为两种主要类型:`Checked Exception`和`Runtime Exception`。`Checked Exception`是那些在编译时期就需要检查并处理的异常,它们通常是从`java.lang.Exception`直接或间接继承的,例如`...
在Java编程语言中,"Runtime-Exception-Rams"可能指的是运行时异常(RuntimeException)和它在内存管理(尤其是RAM,即随机存取存储器)中的影响。运行时异常是程序执行过程中可能发生的一类异常,它们通常表示编程...
异常类(`Exception`)是 `Throwable` 类的一个子类,它又分为两大类:检查性异常(`Checked Exception`)和运行时异常(`Runtime Exception`)。本篇将重点讨论运行时异常及其常见类型。 #### 运行时异常(`...
本资源对Java语言程序设计基础篇的Chapter 17 Exceptions and Assertions进行了详细的解释和知识点总结,涵盖了Java异常类的继承结构、claiming exceptions、checked exception和unchecked exception、throw语句和...
Exception是程序运行过程中可以预期的异常情况,分为Checked Exception(编译时需要处理)和Runtime Exception(运行时异常)。Checked Exception需要在编译期间显式处理,而Runtime Exception则不一定需要,但建议...
Java 中有两种类型的异常:Checked Exception 和 Runtime Exception。Checked Exception 是在编译时检查的异常,而 Runtime Exception 是在运行时检查的异常。 异常处理的步骤包括: 1. try 语句块:用于包含可能...
此外,需要理解异常处理机制,包括try、catch、finally语句的使用,如何声明和处理异常(runtime exception、checked exception、error)以及断言的正确应用。 **第三部分:垃圾收集** 这部分内容涉及Java的自动...
- **编译时异常** (`Checked Exception`):这些异常在编译时会被检查,如果方法中可能会抛出此类异常,则必须在方法签名中声明,或者在方法体内通过 try-catch 块处理。 - **运行时异常** (`Runtime Exception`):...
在编程领域,异常处理是确保程序健壮性的重要机制。异常是程序运行过程中遇到的错误或意外情况,它们中断了程序的正常流程。...在面试或实践中,理解和熟练运用这些知识点能显著提升代码质量,也能帮助解决实际问题。
此外,考生还需了解在程序不同点上异常出现的后果,包括runtime exception、checked exception和error。 **第三部分:垃圾收集** 这部分要求考生理解Java的垃圾收集机制,知道如何让对象成为垃圾收集器的目标,并...