课时119:throws关键字

简介: 课时119介绍了Java中的`throws`关键字。`throws`用于声明方法可能抛出的异常,提醒调用者处理潜在错误。示例中,`MyMath.div()`方法声明抛出`Exception`,主方法可通过`try-catch`块捕获异常或继续向上抛出。若主方法抛出异常,则交由JVM处理。这种方式确保程序在遇到异常时能够妥善应对,避免未处理异常导致的崩溃。

课时119:throws关键字

摘要:

1.观察 Throws 的使用

2.主方法继续抛出异常

 

在程序设计中,执行程序的过程中有可能会产生异常,但是如果说明确的告诉使用者,该方法可能会产生何种异常。那么就可以在方法的声明上使用 Throws 关键字,来解决报错问题。


举例说明:电灯使用说明,会告诉使用者非专业人士不要拆开,即可能会产生问题。或者说有一盆炸药,会提醒千万不要点燃,否则后果自负。

 

01.观察 Throws 的使用

 

1.1代码应用


MyMath 类,定义 Static Int 类型的 Div方法,不管是否有问题,直接加上 Throws Exception ,声明这个代码执行的时候会产生异常,于是返回 X/Y 结果,加上 Throws 作用是如果代码产生异常,那就通过 Throws 方法处理,如果没有异常,则正常执行输出结果X/Y。

在JavaDemo类中编写代码

System.out.println(MyMath.div(10,2))

代码如下:

class MyMath {
// 这个代码执行的时候可能会产生异常,如果产生异常调用处处理
public static int div(int x,int y) throws Exception {
return x / y ;
}
}
public class JavaDemo{
public static void main(String argsl]) {
System.out.println (MyMath.div (10,2)) ; }
}

编译之后会报错:未处理的异常错误,必须进行捕获或者声明以便异常抛出。


例子:假设一个部门经理让他的员工去买一份早点,员工走到卖早点的门口被天上掉下来的砖头砸到了,这种事应该谁处理,让买早点的人处理。


程序编译结果:未报告的异常错误 Exception ;必须对其进行捕获或声明以便抛出。

image.png

例子:假设这个经理有点事,派手下的员工将这1000万交给王建,这个员工有没有卷款跑的可能,根据这个员工的人品肯定会卷款跑,那么经理假意把员工的家人孩子接到身边来照顾,至少有个防备。

 

1.2 Throws的主要作用


在这个程序代码中,操作有可能产生异常,必须时刻防止会出现的错误,即使现在的程序还没有报错,代码编译之后正常执行没有报错,如果现在有异常的话,可以直接进行错误的处理。

代码如下:

class MyMath {
// 这个代码执行的时候可能会产生异常,如果产生异常调用处处理
public static int div(int x,int y) throws Exception {
return x / y ;
}
}
public class JavaDemo{
public static void main(String argsl]) {
Try{
System.out.println (MyMath.div (10,2)) ;
}catch(Exception e){ //必须时刻防止会出现的错误
e.printStackTrace();
}
}
}

image.png

Throws 的主要作用是可以强制告诉被调用者可能会出现问题,但是可以解决。此时还应该注意一个问题:主方法本身也是一个方法,实际上主方法也可以继续向上抛出异常。

 

02.主方法继续抛出异常

 

JVM 处理


代码:

class MyMath {
// 这个代码执行的时候可能会产生异常,如果产生异常调用处处理
public static int div(int x,int y) throws Exception {
return x / y ;
}
}
public class JavaDemo{
public static void main(String argsl]) throws Exception {
System.out.println (MyMath.div (10,2)) ;
}

在JavaDemo中直接加上Throws Exception,此时就不需要处理异常。如果主方法抛出异常,就表示此异常就交由 JVM 负责处理。

 

相关文章
|
2月前
课时120:throw关键字
与 Throws 对应的还有 Throw 关键字,此关键字的作用在于表示手工进行异常的抛出,即:此时将手工产生的一个异常类实例化对象,并且进行异常的抛出处理。所有的异常都是Exception 的子类,在这个过程里面, Exception 有多个方法。
|
2月前
课时127:static定义内部类
1.使用 Static 定义内部类 2.使用 Static 定义内部接口 3.Static 定义内部接口的主要功能
|
2月前
|
安全 Java
课时77:instanceof关键字
课时77介绍了Java中的`instanceof`关键字,用于判断对象是否属于某个类或其子类,确保向下转型的安全性。范例展示了如何使用`instanceof`进行类型检查,并在确认后执行转型操作,避免潜在的`ClassCastException`异常。
|
9月前
|
Java 开发者 UED
【实战宝典】Java异常处理大师级教程:throws关键字,让异常声明成为你的专属标签!
【实战宝典】Java异常处理大师级教程:throws关键字,让异常声明成为你的专属标签!
99 3
|
7月前
|
C语言 C++
C 语言的关键字 static 和 C++ 的关键字 static 有什么区别
在C语言中,`static`关键字主要用于变量声明,使得该变量的作用域被限制在其被声明的函数内部,且在整个程序运行期间保留其值。而在C++中,除了继承了C的特性外,`static`还可以用于类成员,使该成员被所有类实例共享,同时在类外进行初始化。这使得C++中的`static`具有更广泛的应用场景,不仅限于控制变量的作用域和生存期。
163 10
|
12月前
|
C#
29.C#关键字throw初步学习
29.C#关键字throw初步学习
163 0
|
12月前
|
存储 编译器 C++
掌握 C++ 中 static 关键字的多种使用场景
在最开始C中引入了static关键字可以用于修饰变量和函数,后来由于C++引入了class的概念,现在static可以修饰的对象分为以下5种:
115 0
|
Java 编译器
【JavaSE专栏69】throw、throws关键字,实现优雅的抛出异常
【JavaSE专栏69】throw、throws关键字,实现优雅的抛出异常
205 0
|
C语言
竟然有人如此解释关键字中的static
竟然有人如此解释关键字中的static
76 0
竟然有人如此解释关键字中的static
OSZAR »