JavaSE 异常之运行异常

简介: JavaSE 异常之运行异常
try/catch

可以处理异常,并且出现异常后代码也不会死亡

  • 捕获异常和处理异常的格式:捕获处理
  • 监视捕获处理异常写法:Exception 可以捕获处理一切异常类型

Throwable成员方法:

  • public String getMessage():返回此 throwable 的详细消息字符串
  • public String toString():返回此可抛出的简短描述
  • public void printStackTrace():把异常的错误信息输出在控制台

运行异常

基本介绍

继承自 RuntimeException 的异常或者其子类,编译阶段是不会出错的,是在运行时阶段可能出现的错误,运行时异常编译阶段可以处理也可以不处理,代码编译都能通过

常见的运行时异常

  1. 数组索引越界异常:ArrayIndexOutOfBoundsException
  2. 空指针异常:NullPointerException,直接输出没问题,调用空指针的变量的功能就会报错
  3. 类型转换异常:ClassCastException
  4. 迭代器遍历没有此元素异常:NoSuchElementException
  5. 算术异常(数学操作异常):ArithmeticException
  6. 数字转换异常:NumberFormatException

处理机制

运行时异常在编译阶段是不会报错,在运行阶段才会出错,运行时出错了程序还是会停止,运行时异常也建议要处理,运行时异常是自动往外抛出的,不需要手工抛出 运行时异常的处理规范:直接在最外层捕获处理即可,底层会自动抛出

 public class ExceptionDemo{
     public static void main(String[] args){
         System.out.println("程序开始。。。。");
         try{
             chu(10 / 0);//ArithmeticException: / by zero
             System.out.println("操作成功!");//没输出
         }catch (Exception e){
             e.printStackTrace();
             System.out.println("操作失败!");//输出了
         }
         System.out.println("程序结束。。。。");//输出了
     }
     
     public static void chu(int a , int b)  { System.out.println( a / b );}
 }

Finally

用在捕获处理的异常格式中的,放在最后面,finally 的作用:可以在代码执行完毕以后进行资源的释放操作 资源:资源都是实现了 Closeable 接口的,都自带 close() 关闭方法 注意:如果在 finally 中出现了 return,会吞掉异常

目录
相关文章
|
6月前
|
Java UED
Java中的异常处理:捕获、声明与抛出
Java中的异常处理:捕获、声明与抛出
139 0
|
6月前
|
Java 开发者
【Java异常】什么是异常,Java中如何处理异常?
【Java异常】什么是异常,Java中如何处理异常?
64 0
|
Java 编译器 开发者
java中运行时异常与编译时异常?
java中运行时异常与编译时异常?
|
6月前
|
Java 编译器
Java一分钟之——异常分类:检查异常与运行时异常
【5月更文挑战第20天】Java异常处理分为检查异常(Checked Exceptions)和运行时异常(Unchecked Exceptions),两者在编译期处理方式不同。检查异常需捕获或声明,如`IOException`,而运行时异常如`NullPointerException`在运行时终止程序。常见问题包括不恰当的异常使用、过度捕获和忽略异常信息。避免策略包括正确区分异常类型、具体捕获和处理异常信息。示例代码展示了如何处理这两种类型的异常。理解并妥善处理异常能提升程序的健壮性和可维护性。
133 4
|
6月前
|
Java UED
JavaSE&异常
JavaSE&异常
25 1
|
11月前
|
监控 Java 程序员
|
Java 程序员 API
异常(下)Java常见异常,异常的使用原则
异常(下)Java常见异常,异常的使用原则
176 0
|
Java 程序员
JavaSE 异常
JavaSE 异常
36 0
|
Java 程序员
JavaSE/异常
JavaSE/异常
|
Java 数据安全/隐私保护
JavaSe-异常
JavaSe-异常