简述throws和throw的有什么区别。
throws和throw的区别主要体现在以下几个方面:
1. 位置:throws作用在方法上,后面跟着的是异常的类,而throw作用在方法内,后面跟着的是异常的对象。
2. 功能:throws用来声明方法在运行过程中可能出现的异常,以便调用者根据不同的异常类型预先定义不同的处理方式。而throw用来抛出封装了异常信息的对象,程序在执行到throw时后续的代码将不再执行,而是跳转到调用者,并将异常信息抛给调用者。
3. 使用方式:throw要么和try-catch-finally语句配套使用捕获异常,要么与throws配套使用抛出异常。throws由处理异常的方法捕获。
需要注意的是,throw和throws都是消极处理异常的方式,只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。
