2025/12/22-异常处理

异常处理 --错误!==异常

什么是异常?
异常是程序中的一些错误,但并不是所有的错误都是异常

最直接的方式就是看提示:

  • 错误:缺少";"会提示java.lang.Error
  • 异常:System.out.println(11/0)会提示java.lang.ArithmeticException

造成异常的原因:

  • 用户输入了非法数据 --> IllegalArgumentException
  • 输入格式不合法(如要求是数字却输入字符串): NumberFormatException
  • 要求非空但是未输入: NullPointerException
  • 输入超出合法范围(如年龄为负数): 优先IllegalArgumentException
  • 要打开的文件不存在 --> FileNotFoundException
  • 网络通信时连接终端 --> SocketException

异常方法:

序号 方法及说明
1 public String getMessage()
返回关于发生的异常的详细信息。这个消息在Throwable 类的构造函数中初始化了。
2 public Throwable getCause()
返回一个 Throwable 对象代表异常原因。
3 public String toString()
返回此 Throwable 的简短描述。
4 public void printStackTrace()
将此 Throwable 及其回溯打印到标准错误流。
5 public StackTraceElement [] getStackTrace()
返回一个包含堆栈层次的数组。下标为0的元素代表栈顶,最后一个元素代表方法调用堆栈的栈底。
6 public Throwable fillInStackTrace()
用当前的调用栈层次填充Throwable 对象栈层次,添加到栈层次任何先前信息中。

为什么要进行异常处理?
可能会导致程序崩溃,内存泄露,数据丢失等问题

捕获异常:

使用trycatch关键字

  try
  {
  // 程序代码
  }catch(ExceptionName e1)
  {
  //Catch 块
  }

多重捕获异常:

   try{
  // 程序代码
  }catch(异常类型1 异常的变量名1){
  // 程序代码
  }catch(异常类型2 异常的变量名2){
  // 程序代码
  }catch(异常类型3 异常的变量名3){
  // 程序代码
  }

多异常合并捕获:

  try {
  // 可能抛出多个不同类型异常的代码
  } catch (异常类型1 | 异常类型2 | 异常类型3 异常变量) {
  // 统一处理
  }
posted on 2025-12-22 11:37  红皮烤肠超人  阅读(3)  评论(0)    收藏  举报