JAVA中throws和throw有什么区别
一直对java中的throws和throw不太理解。你知道JAVA中throws和throw有什么区别吗?下面是小编为大家带来的关于JAVA中throws和throw有什么区别的知识,欢迎阅读。
throw:(针对对象的做法)
抛出一个异常,可以是系统定义的.,也可以是自己定义的。下面举两个例子:
抛出Java中的一个系统异常:
public class One {
public void yichang(){
NumberFormatException e = new NumberFormatException();
throw e;
}
public static void main(String[] args){
One test = new One();
try{
ang();
}catch(NumberFormatException e){
tln(essage());
}
}
}
抛出一个自定义的异常:
public class People {
public static int check(String strage) throws MyException{
int age = eInt(strage);
if(age < 0){
throw new MyException("年龄不能为负数!");
}
return age;
}
public static void main(String[] args){
try{
int myage = check("-101");
tln(myage);
}catch(NumberFormatException e){
tln("数据格式错误");
tln("原因:" + essage());
}catch(MyException e){
tln("数据逻辑错误");
tln("原因:" + essage());
}
}
}
public class MyException extends Exception{
private static final long serialVersionUID = 1L;
private String name;
public MyException(String name){
= name;
}
public String getMessage(){
return ;
}
}
throws:(针对一个方法抛出的异常)
抛出一个异常,可以是系统定义的,也可以是自己定义的。
抛出java中的一个系统异常:
public class One {
public void yichang() throws NumberFormatException{
int a = eInt("10L");
}
public static void main(String[] args){
One test = new One();
try{
ang();
}catch(NumberFormatException e){
tln(essage());
}
}
}
抛出一个自定义异常:
public class People {
public static int check(String strage) throws MyException{
int age = eInt(strage);
if(age < 0){
throw new MyException("年龄不能为负数!");
}
return age;
}
public static void main(String[] args){
try{
int myage = check("-101");
tln(myage);
}catch(NumberFormatException e){
tln("数据格式错误");
tln("原因:" + essage());
}catch(MyException e){
tln("数据逻辑错误");
tln("原因:" + essage());
}
}
}
public class MyException extends Exception{
private static final long serialVersionUID = 1L;
private String name;
public MyException(String name){
= name;
}
public String getMessage(){
return ;
}
}
那么下面我要说究竟什么时候用哪种:
如果是系统异常的话可以什么都不用做,也可以针对方法抛出一个异常,因为系统异常是可以被系统自动捕获的,所以这个异常究竟是要在方法内部解决还是交给上层函数去解决其实效果是一样的。但是我查了很多资料,即使会抛出异常能被系统所捕获的话还是建议针对方法写一个throws,因为这样在完成一个大型任务的时候可以让别的程序员知道这里会出现什么异常。
如果是自己定义的异常,则必须要用throws抛出该方法可能抛出的异常,否则编译会报错
-
java日期时间基本操作方法
1.获得Calendar实例:Calendarc=nstance();2.定义日期/时间的格式:SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");3.把日期/时间转换成固定格式,使用SimpleDateFormat的'format()方法:Stringdatetime=at(ime());4.把字符串转换成日期/时间,...
-
Javascript和Java语言间的异同比较
虽然Javascript与Java有紧密的联系,但却是两个公司开发的不同的两个产品。那么js和java有什么关系,两种语言的不同点是什么呢?以下是本站小编搜索整理的关于Javascript和Java语言间的异同比较,供参考学习,感兴趣的小伙伴们可以参考一下!想了解更多相关信息请持续关...
-
Java中如何获取Spring中配置的bean
Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。在Java中如何获取Spring中配置的'bean?下面本站小编带大家一起来看看详细操作,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!一、什么是Spring?Spring是一个轻量级的控...
-
如何实现javascript去除字符串里中文与空格
导语:如何实现javascript去除字符串里中文与空格呢?下面是小编给大家提供的示例代码实现,大家可以参考阅读,更多详情请关注应届毕业生考试网。1.去掉空格:functionmoveSpace(){varstr="abcdefg";alert(ace(/[]/g,""));}moveSpace();2.去掉中文:vartitle="字符串zifuc...
相关文章
- S中的ACR究竟是什么-ACR和Lightroom的区别及优势介绍
- What’s your favouritecolour的英语口语
- 八年级Unit 5 What were you doing when the rainstorm came?教学设计
- GMAT考试逻辑题练习:What to do when you are stuck
- A Visit to the Flower Show为题目的作文
- whats your plan for dragon boat festival英语作文
- How to Survive an Earthquake为题目的作文
- 圣诞节英语诗歌《We Won't Have a Christmas This Year》
- 定语从句中who和that的用法有什么区别
- Java编程中throw和throws子句的使用方法