Scala 高阶(十):Scala中的异常处理_scala处理空值数据,异常值数据,重复数据

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

public static void main(String[] args) {
    int a=100;
    int b=0;
    System.out.println(a/b);
}

}


运行结果:


![](https://img-blog.csdnimg.cn/20200709185035827.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1pwX2luc2lzdA==,size_16,color_FFFFFF,t_70#pic_center)


## 二、回顾Java中的异常机制


### Java中异常处理有两种方式


* 在方法声明的位置上,使用throws关键字,抛给上一级。谁调用我,我就抛给谁。抛给上一级。



public class ExceptionText {
public static void main(String[] args) throws Exception{
int a=100;
int b=0;
divide(a,b);
}

public static void divide(int a, int b) throws Exception{
    int c = a / b;
    System.out.println(c);
}

}


* 使用try…catch语句进行异常的捕捉。



public class ExceptionText {
public static void main(String[] args){
int a=100;
int b=0;
try {
divide(a,b);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void divide(int a, int b) throws Exception{
int c = a / b;
System.out.println©;
}


注意:



> 
> 1.Java中异常发生之后如果一直上抛,最终抛给了main方法,main方法继续向上抛,抛给了调用者JVM,JVM知道这个异常发生,只有一个结果。终止java程序的执行。  
>  2.try语句中某一行出现异常该行后续代码不执行try…catch捕获后,后续代码可执行。
> 
> 
> 


### try…catch和finally概述


* 语法格式:



try {

}catch(OneException e) {

}catch(TwoException e) {

}finally {

}


* try 中包含了可能产生异常的代码
* try 后面是 catch,catch 可以有一个或多个,catch 中是需要捕获的异常
* finally 表示:不管是出现异常,还是没有出现异常,finally 里的代码都执行,finally 和 catch  
 可以分开使用,但 finally 必须和 try 一块使用



try {

}finally {

}


* `catch(异常1 | 异常2 |异常3 |......)` jdk8新特性!!


示例代码(1):



public class ExceptionText {
public static void main(String[] args){
int a=100;
int b=0;
try {
divide(a,b);
//上一行代码有异常,直接进入catch里面!!
System.out.println(“我能执行吗?”);
} catch (Exception e) {
System.out.println(“被0除了!!”);
}
}
public static void divide(int a, int b) throws Exception{
int c = a / b;
System.out.println©;
}
}


运行结果:



被0除了!!


示例代码(2):



public class ExceptionText {
public static void main(String[] args){
int a=100;
int b=0;
try {
divide(a,b);
//上一行代码有异常,直接进入catch里面!!
System.out.println(“我能执行吗?”);
} catch (Exception e) {
System.out.println(“被0除了!!”);
}finally {
System.out.println(“finally执行了!!”);
}
}
public static void divide(int a, int b) throws Exception{
int c = a / b;
System.out.println©;
}
}


运行结果:



被0除了!!
finally执行了!!


throws与try…catch如何选择?  
 **需要上报异常使用throws,需要捕获异常时使用try…catch进行捕获!!**


### finally重要面试题


示例代码(3):



public class FinallyText {
public static void main(String[] args) {
System.out.println(n());
}

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

616)]

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值