异常的处理

举报
静Yu 发表于 2021/11/19 01:39:42 2021/11/19
【摘要】 异常处理的方式 1.程序块中捕获并处理异常 这种处理方式要采用try-catch-finally结构 2.将方法中产生的或可能产生的异常抛出,留给调用该方法的程序块处理 使用throws关键字在方法头声明...

异常处理的方式
1.程序块中捕获并处理异常
这种处理方式要采用try-catch-finally结构
2.将方法中产生的或可能产生的异常抛出,留给调用该方法的程序块处理
使用throws关键字在方法头声明

try-catch-finally 结构

try-catch-finally 结构捕获程序中产生的异常,
然后针对不同的异常采用不同的
处理程序进行处理

  
 
  • 1
  • 2
  • 3

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
try-catch-finally的匹配原则
(1)一个catch(ExceptionType1 e1)块能够捕获所有ExceptionType1类型的异常,它的子类型也都可以被这个catch捕获
(2)catch块的安排要遵循先具体后抽象的原则:父异常类应该放在子异常类的后面,否则编译器会报错
(3)如果两个异常类之间没有继承关系,则它们之间的先后关系可以是任意的

public class TestMultiCatch{
 public static double calculateArea(double a, double b, double c){
double p = (a+b+c)/2;
return Math.sqrt(p*(p-a)*(p-b)*(p-c));
 }
 public static void main(String[] args){
try{
double a = Double.parseDouble(args[0]);
double b = Double.parseDouble(args[1]);
double c = Double.parseDouble(args[2]);
double s = calculateArea(a, b, c);
System.out.println("三角形面积是"+s);
 }catch(ArrayIndexOutOfBoundsException e1){
System.out.println("数组访问越界,请至少输
 入3个参数");
 } catch(Exception e){
System.out.println("捕获到了Exception异常");
 }
 }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

使用throws声明异常
在这里插入图片描述
图片来源:https://www.icourse163.org/learn/BFU-1205988807?tid=1461521444

文章来源: blog.csdn.net,作者:静Yu,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_46285118/article/details/113317190

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。