【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:手动抛出自定义异常对象

目录
相关文章
|
25天前
|
Java
让星星⭐月亮告诉你,自定义定时器和Java自带原生定时器
定时器是一种可以设置多个具有不同执行时间和间隔的任务的工具。本文介绍了定时器的基本概念、如何自定义实现一个定时器,以及Java原生定时器的使用方法,包括定义定时任务接口、实现任务、定义任务处理线程和使用Java的`Timer`与`TimerTask`类来管理和执行定时任务。
41 3
|
1天前
|
Java
Java异常捕捉处理和错误处理
Java异常捕捉处理和错误处理
8 1
|
3天前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
11 2
|
10天前
|
Java
如何在 Java 中处理“Broken Pipe”异常
在Java中处理“Broken Pipe”异常,通常发生在网络通信中,如Socket编程时。该异常表示写入操作的另一端已关闭连接。解决方法包括:检查网络连接、设置超时、使用try-catch捕获异常并进行重试或关闭资源。
|
13天前
|
存储 安全 Java
如何避免 Java 中的“ArrayStoreException”异常
在Java中,ArrayStoreException异常通常发生在尝试将不兼容的对象存储到泛型数组中时。为了避免这种异常,确保在操作数组时遵循以下几点:1. 使用泛型确保类型安全;2. 避免生类型(raw types)的使用;3. 在添加元素前进行类型检查。通过这些方法,可以有效防止 ArrayStoreException 的发生。
|
14天前
|
人工智能 Oracle Java
解决 Java 打印日志吞异常堆栈的问题
前几天有同学找我查一个空指针问题,Java 打印日志时,异常堆栈信息被吞了,导致定位不到出问题的地方。
29 2
|
17天前
|
Java 索引
如何避免在 Java 中引发`StringIndexOutOfBoundsException`异常
在Java中,处理字符串时若访问了不存在的索引,会抛出`StringIndexOutOfBoundsException`异常。为避免此异常,应确保索引值在有效范围内,例如使用`length()`方法检查字符串长度,并确保索引值不小于0且不大于字符串长度减1。
|
19天前
|
安全 Java
如何在 Java 中创建自定义安全管理器
在Java中创建自定义安全管理器需要继承SecurityManager类并重写其方法,以实现特定的安全策略。通过设置系统安全属性来启用自定义安全管理器,从而控制应用程序的访问权限和安全行为。
|
19天前
|
安全 Java 数据安全/隐私保护
如何配置 Java 安全管理器来避免访问控制异常
配置Java安全管理器以防止访问控制异常,需在启动JVM时通过 `-Djava.security.manager` 参数启用,并设置安全策略文件,定义权限规则,限制代码执行操作,确保应用安全。
|
25天前
|
Java
让星星⭐月亮告诉你,Java异常分类[Throwable(Error/Exception(RuntimeException/其他异常)) 检查时异常 非检查时异常]
本文深入解析了Java异常处理机制,重点介绍了`Throwable`类及其子类`Error`和`Exception`,并通过实例代码、流程图和表格详细解释了异常的分类、区别及处理方法,帮助读者掌握异常处理的关键技巧,提升程序的稳定性和健壮性。
43 1