爪哇2博客
爪哇2博客

爪哇中throw和throws之间的区别

在本教程中,我们将看到Java中throw和throws之间的区别。

扔:

扔关键字用于引发任何自定义异常或预定义异常。
例如:
让’s说您想在员工年龄小于18岁时抛出invalidAgeException。
创建一个Employee类,如下所示。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
组织.Arpit.爪哇2blog;
 
上市 雇员 {
 
名称;
整型 年龄;
上市 getName() {
返回 名称;
}
上市 虚空 setName( 名称) {
这个.名称 = 名称;
}
上市 整型 getAge() {
返回 年龄;
}
上市 虚空 setAge(整型 年龄) {
如果(年龄 < 18)
尝试 {
InvalidAgeException(“雇员的年龄不能小于18岁”);
} 抓住 (InvalidAgeException e) {
e.printStackTrace();
}
这个.年龄 = 年龄;
}
 
}
 

如下创建InvalidAgeException类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
组织.Arpit.爪哇2blog;
 
上市 InvalidAgeException 延伸 例外{
 
信息;
 
InvalidAgeException( 信息)
{
  (信息);
  这个.信息=信息;
}
}
 

现在,如下所示创建一个名为EmployeeExceptionTest.java的主类。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
组织.Arpit.爪哇2blog;
 
上市 雇员ExceptionTest {
上市 静态的 虚空 主要([] args) {
  雇员 e1 = 雇员();
  e1.setName(“约翰”);
  e1.setAge(25);
 
  雇员 e2 = 雇员();
  e2.setName(“马丁”);
  e2.setAge(17);
}
}
 

当您运行上述程序时,将获得以下输出:

1
2
3
4
5
 
组织.Arpit.爪哇2blog.InvalidAgeException: 雇员's 年龄 能够 18
组织.Arpit.爪哇2blog.雇员.setAge(雇员.爪哇:19)
组织.Arpit.爪哇2blog.异常测试.主要(异常测试.爪哇:14)
 

抛出:

抛出关键字用于声明该方法可能抛出的所有异常的列表。它把处理异常的责任委托给调用方法。
例如:
让’s表示您希望在员工年龄小于18岁且应在main方法中处理InvalidAgeException异常时在setAge()方法中声明InvalidAgeException。
创建一个Employee类,如下所示。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
组织.Arpit.爪哇2blog;
 
上市 雇员 {
 
名称;
整型 年龄;
上市 getName() {
  返回 名称;
}
上市 虚空 setName( 名称) {
  这个.名称 = 名称;
}
上市 整型 getAge() {
  返回 年龄;
}
上市 虚空 setAge(整型 年龄) 抛出 InvalidAgeException{
如果(年龄 < 18)
   InvalidAgeException(“雇员的年龄不能小于18岁”);
         这个.年龄 = 年龄;
}
 
}
 

如下创建InvalidAgeException类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
组织.Arpit.爪哇2blog;
 
上市 InvalidAgeException 延伸 例外{
 
信息;
 
InvalidAgeException( 信息)
{
  (信息);
  这个.信息=信息;
}
}
 

现在,如下所示创建一个名为EmployeeExceptionTest.java的主类。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
组织.Arpit.爪哇2blog;
 
上市 雇员ExceptionTest {
上市 静态的 虚空 主要([] args) {
  尝试 {
   雇员 e1 = 雇员();
   e1.setName(“约翰”);
   e1.setAge(25);
 
   雇员 e2 = 雇员();
   e2.setName(“马丁”);
   e2.setAge(17);
  } 抓住 (InvalidAgeException e) {
   e.printStackTrace();
  }
}
}
 

当您运行上述程序时,将获得以下输出:

1
2
3
4
5
 
组织.Arpit.爪哇2blog.InvalidAgeException: 雇员's 年龄 能够 18
组织.Arpit.爪哇2blog.雇员.setAge(雇员.爪哇:19)
组织.Arpit.爪哇2blog.异常测试.主要(异常测试.爪哇:14)
 

如果您注意到,我们在Employee中使用了throws关键字’的setAge方法,而不是处理InvalidAgeException。

1
2
3
4
5
6
7
 
上市 虚空 setAge(整型 年龄) 抛出 InvalidAgeException{
如果(年龄 < 18)
   InvalidAgeException(“雇员的年龄不能小于18岁”);
         这个.年龄 = 年龄;
}
 

现在,我们已在main方法中使用try 抓住块来处理InvalidAgeException。

分享这个

作者

关注作者

相关文章

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


让’s 是 Friends

©2020 爪哇2博客