【Java】异常操作及自定义异常

简介: 【Java】异常操作及自定义异常

一、异常概述

异常:程序出错了

1、异常的分类

  1. 编译时异常:受检异常
  2. 运行时异常:非受检异常

2、异常体系:Throwable

  1. Error:严重问题,不需要处理
  2. Exception:异常类,程序本身可以处理
    1. RuntimeException:编译器不检查,犯错后再改
    2. 非RuntimeException:编译期需要修改,不改过不了编译

3、JVM的默认处理方法

  1. 把异常信息(名称,原因,位置)输出在控制台
  2. 程序停止运行

二、异常处理

1、try...catch...finally...

try{
   
    可能异常的代码;
} catch(异常类名 变量名) {
   
    异常的处理代码;
} finally {
   
    执行清除操作;
}

执行完毕后,程序还能继续运行

无论如何,都会执行finally里的操作

2、throws

方法 throws 异常名;

延迟处理异常:把异常抛出去,用的时候再处理 --> 甩锅

三、Throwable的成员方法

1. getMessage()

返回throwable的详细信息字符串(最简短)

//定义
public String getMessage()
//使用
sout(e.getMessage());

2. toString()

返回可抛出的简短描述

//定义
public String toString()
//使用
sout(e.toString());

3. printStackTrace()

把错误信息输出在控制台(最完全)

//定义
public void printStackTrace()
//使用
e.printStackTrace();

四、自定义异常

public class 异常类名 extends Exception {
   
  无参构造
  带参构造(String message){
   
      super(message);
  }
}

throw:手动抛出自定义异常对象

目录
相关文章
|
17小时前
|
Java 索引
【JAVA基础篇教学】第七篇:Java异常类型说明
【JAVA基础篇教学】第七篇:Java异常类型说明
|
17小时前
|
Java Android开发
java利用xml-rpc协议操作wordpress博客
java利用xml-rpc协议操作wordpress博客
12 1
|
17小时前
|
监控 Java
Java一分钟之-NIO:非阻塞IO操作
【5月更文挑战第14天】Java的NIO(New IO)解决了传统BIO在高并发下的低效问题,通过非阻塞方式提高性能。NIO涉及复杂的选择器和缓冲区管理,易出现线程、内存和中断处理的误区。要避免这些问题,可以使用如Netty的NIO库,谨慎设计并发策略,并建立标准异常处理。示例展示了简单NIO服务器,接收连接并发送欢迎消息。理解NIO工作原理和最佳实践,有助于构建高效网络应用。
8 2
|
17小时前
|
安全 Java 数据安全/隐私保护
Java一分钟之-Java反射机制:动态操作类与对象
【5月更文挑战第12天】本文介绍了Java反射机制的基本用法,包括获取Class对象、创建对象、访问字段和调用方法。同时,讨论了常见的问题和易错点,如忽略访问权限检查、未捕获异常以及性能损耗,并提供了相应的避免策略。理解反射的工作原理和合理使用有助于提升代码灵活性,但需注意其带来的安全风险和性能影响。
19 4
|
17小时前
|
前端开发 Java 应用服务中间件
【异常解决】java程序连接MinIO报错The request signature we calculated does not match the signature you provided.
【异常解决】java程序连接MinIO报错The request signature we calculated does not match the signature you provided.
11 0
|
17小时前
|
Java API
Java操作elasticsearch
Java操作elasticsearch
8 0
|
17小时前
|
NoSQL Java Redis
在Java中操作Redis
在Java中操作Redis
8 0
|
17小时前
|
Java 关系型数据库 MySQL
【JAVA进阶篇教学】第八篇:Java链接MySql数据库异常
【JAVA进阶篇教学】第八篇:Java链接MySql数据库异常
|
17小时前
|
SQL Java 关系型数据库
【JAVA基础篇教学】第十六篇:Java连接和操作MySQL数据库
【JAVA基础篇教学】第十六篇:Java连接和操作MySQL数据库
|
17小时前
|
Oracle 关系型数据库 Java
java操作多数据源将oracle数据同步达梦数据库
java操作多数据源将oracle数据同步达梦数据库