[JavaSE]第六章 异常

本文详细介绍了Java中的异常处理机制,包括异常概述、异常体系结构、try-catch-finally处理机制、throws关键字的使用,手动抛出异常以及如何创建用户自定义异常类。通过实例解析了异常处理的重要性和具体实现方式。
摘要由CSDN通过智能技术生成

6.1 异常概述与异常体系结构

  • 异常:在Java语言中,将程序执行中发生的不正常情况称为异常

  • Java程序在执行过程中所发生的异常事件可分为两类:

    • Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源

      耗尽等严重情况。比如:StackOverflowError 和 OOM。一般不编写针对性

      的代码进行处理

    • Exception:其它因编程错误或偶然的外在因素导致的一般性问题,可以使

      用针对性的代码进行处理

image-20211219212546856

6.2 异常处理机制一:try-catch-finally

  • finally 是可选的
  • finally 中声明的是一定会被执行的代码。即使 catch 中有出现异常,try 中有 return 语句,catch 中有 return 语句等情况
  • 使用 try 将可能出现的异常代码包装起来,在执行过程中,一旦出现异常,就会生成一个异常类的对象,根据此对象的类型,去 catch 中进行匹配
  • 一旦 try 中的异常对象匹配到某一个 catch 时,就进行 catch 中进行异常的处理。一旦处理完成,就跳出当前的 try-catch 结构(在没有写 finally 的情况)。继续执行其后的代码
  • catch 中的异常类型如果没有子父类关系,则谁声明在上,谁声明在下无所谓
  • catch 中的异常类型如果满足子父类关系,则要求子类一定要声明在父类上面
  • 在 try 结构中声明的变量,在出了 try 结构以后,就不能再被调用
  • 常见的异常对象处理的方式:
    • String getMessage()
    • printStackTrance()

用 try-catch-finally 处理编译时异常,使得程序在编译时就不再报错,但是运行时仍可能报错。相当于我们使用 try-catch-finally 将一个编译时可能出现的异常延迟到运行时出现

开发中,由于运行时异常比较常见,所以我们通常就不针对运行时异常编写 try-catch-finally了。针对编译时异常,我们一定要考虑异常的处理

public class ExceptionTest1 {
   

    @Test
    public void test1() {
   
        //NumberFormatException
        String str = "123";
        str = "abc";
        int num = 0;
        try {
   
            num = Integer.parseInt(str);
            System.out.println("hello--1");
        } catch (NumberFormatException e) {
   
            System.out.println(e.getMessage());
            //e.printStackTrace();
            //
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值