`

throw 和throws碰到runtimeException

JVM 
阅读更多
1.throws 用于抛出方法层次的异常,
并且直接由些方法调用异常处理类来处理该异常,
所以它常用在方法的后面。比如
public static void main(String[] args) throws SQLException

2.throw 用于方法块里面的代码,比throws的层次要低,比如try...catch ....语句块,表示它抛出异常,
但它不会处理它,
而是由方法块的throws Exception来调用异常处理类来处理

throw用在程序中,明确表示这里抛出一个异常。  
throws用在方法声明的地方,表示这个方法可能会抛出某异常。

throw是抛出一个具体的异常类,产生一个异常。
throws则是在方法名后标出该方法会产生何种异常需要方法的使用者捕获并处理

看个简单的例子
public Object getit() {
    	try{
    		return null;
    	}
    	catch (RuntimeException ex) {
    		 throw ex;
    		}
    	catch(Error e){
    		throw e;
    	}
    }

这个是可以正常编译的
因为 runtimeexception throw的时候不需要在方法的后面加上thorws  ***
Error也是不需要捕获的!!
API中的解说
要提供自定义错误处理,则需实现此接口并使用 setErrorListener 方法注册一个带有 Transformer 的实现的实例。然后由 Transformer 通过此接口来报告所有错误和警告。

如果应用程序没有 注册自己的自定义 ErrorListener,则使用默认的 ErrorListener,它向 System.err 报告所有警告和错误,但不抛出任何 Exception。建议 应用程序注册和使用 ErrorListener,以确保正确的警告和错误行为。



如果 是Exception  如下
public Object getit() throws Exception {
    	try{
    		return null;
    	}
    	catch (Exception ex) {
    		 throw ex;
    		}
    	catch(Error e){
    		throw e;
    	}
    }

因为跑出异常之后程序就会终止 然后向上一步步抛出异常 所以也就不用在方法最后再return



这时throw的 Exception要被handle  这是一种jvm机制 告诫 这个方法可能要出现异常
分享到:
评论

相关推荐

    java处理异常的机制关键字throw和throws使用解析

    Java处理异常的机制关键字throw和throws使用解析 Java处理异常的机制关键字throw和throws是Java语言中两个非常重要的机制关键字,它们都是用来处理异常的,但它们之间存在着明显的区别。下面我们将通过示例代码详细...

    Java软件开发实战 Java基础与案例开发详解 10-4 使用throw和throws引发异常 共5页.pdf

    ### Java软件开发实战:使用throw和throws引发异常 #### 1. Java异常处理基础 在Java编程中,异常处理是一项非常重要的技术,用于处理程序运行过程中可能出现的各种异常情况。异常处理主要包括异常的捕获、处理...

    Java throw和throws使用区别分析

    在Java编程语言中,`throw`和`throws`都是用于处理异常的重要关键字,但它们的用法和功能有所不同。理解这两个关键字的区别对于编写健壮的Java程序至关重要。 首先,我们来了解一下异常的基本概念。在Java中,异常...

    详解Java编程中throw和throws子句的使用方法

    注意,`Error`和`RuntimeException`及其子类不需要在`throws`子句中声明,因为它们被认为是程序运行时的不可预期错误,通常不需要显式处理。 例如,如果一个方法需要读取文件,但由于文件不存在可能会抛出`...

    异常处理throws关键字

    总之,`throws`关键字是Java异常处理机制中一个非常实用的功能,它可以帮助开发者更好地管理和控制异常情况,从而使程序更加健壮和易于维护。在实际开发中,合理地使用`throws`关键字不仅可以提高代码的质量,还可以...

    java throws声明异常实例一

    在实际编程中,合理地使用`throws`声明异常能够提高代码的可读性和维护性。当一个方法不能或不想处理特定的异常时,可以使用`throws`将其抛出,由调用者来决定如何处理。同时,结合适当的异常层次结构和自定义异常,...

    Java异常面试题 33道.pdf

    Exception包括RuntimeException和checked exception两类。RuntimeException是程序本身可以捕获并且可以处理的异常,例如NullPointerException、ArrayIndexOutOfBoundsException、ClassCastException等。checked ...

    Java 常见异常(Runtime Exception )详细介绍并总结

    Java的异常处理机制是通过五个关键字来实现的:try、catch、finally、throw和throws。 1. **异常机制** 异常机制在Java中提供了一种优雅的方式来处理程序中的错误。当发生异常时,程序的控制流会从发生异常的地方...

    java中throws的使用问题.pdf

    异常处理主要涉及五个关键字:`try`、`catch`、`throw`、`throws`和`finally`。 1. `try`块用于包围可能抛出异常的代码。如果在`try`块内发生了异常,程序会立即跳出`try`块,尝试寻找匹配的`catch`块来处理异常。 ...

    java中throws的使用问题[参考].pdf

    Java异常处理主要涉及五个关键字:`try`、`catch`、`throw`、`throws`和`finally`。 1. **`try`**: `try`块用于包含可能抛出异常的代码。如果在`try`块中发生了异常,程序的执行会立即跳转到与之匹配的`catch`块...

    Java 异常处理面试集锦及答案20道

    1. **Java异常处理机制**:Java异常处理是通过一组关键字(try、catch、finally、throw和throws)来实现的,这些关键字帮助我们检测、捕获和处理异常。当程序中出现异常时,会触发异常对象的创建,并通过调用栈传递...

    Java语言程序设计基础篇课后题答案-Chapter17ExceptionsandAssertions.pdf

    Java中只有RuntimeException和Error及其子类是unchecked exception。 四、throw语句和throws关键字 throw语句用于抛出异常,而throws关键字用于claiming exceptions。throw语句只能抛出一个异常,而throws关键字...

    Java throw Exception实现异常转换

    本文将详细介绍Java throw Exception实现异常转换的原理和实现方法,并提供实践示例代码,以帮助读者更好地理解和应用这项技术。 一、什么是checked exception和unchecked exception? 在Java语言中,异常分为两种...

    java的异常汇总.docx

    Java的异常处理机制主要包括五个关键字:try、catch、finally、throw和throws。当可能出现异常的代码被包裹在try块内,如果出现异常,控制权会立即转移到相应的catch块。catch块用来捕获并处理特定类型的异常。...

    03-Java异常面试题.docx

    throw 和 throws 的区别是什么?final、finally、finalize 的区别是什么?NoClassDefFoundError 和 ClassNotFoundException 的区别是什么?try-catch-finally 中哪个部分可以省略?try-catch-finally 中,如果 catch...

    Java的内置异常-Java教程共1页.pdf.zip

    Java异常处理机制包括try、catch、finally、throw和throws五个关键字。try块用于包含可能抛出异常的代码,catch块用于捕获并处理异常,finally块确保在任何情况下都会执行的代码,无论是否发生异常。throw关键字用于...

    Java编程中使用throw关键字抛出异常的用法简介

    以下是对`throw`关键字使用的一些详细解释和示例。 ### 抛出异常的基本语法 在Java中,`throw`关键字后面跟一个`new`关键字创建的异常对象,这个对象通常是Java内置的异常类(如`NullPointerException`, `...

    java异常处理

    在Java中,异常处理主要有五个关键字:try、catch、finally、throw和throws。这些关键字帮助我们构建了一个异常处理框架,使得程序在遇到异常时不会立即崩溃,而是有机会进行相应的错误处理。 1. **try**:try块...

    面试题和答案下

    throw和throws关键字在异常处理中都扮演着重要角色。throw用于在代码中显式地抛出一个异常实例,而throws则用于方法签名,声明该方法可能会抛出的异常类型。 finally代码块用于包含一段始终会被执行的代码,无论...

    毕业就业-刷题库Java面试题大全(2021年-2022年).rar

    4. throw 和 throws 的区别是什么? 5. final、finally、finalize 有什么区别? 6. NoClassDefFoundError 和 ClassNotFoundException 区别? 7. try-catch-finally 中哪个部分可以省略? 8. try-catch-finally 中,...

Global site tag (gtag.js) - Google Analytics