java异常
java.lang.Throwable
异常处理机制:
抛出异常
捕获异常
异常处理的五个关键词:try catch finally throw throws
package com.exception; public class Test { public static void main(String[] args) { try { new Test().test(1,0); } catch (ArithmeticException e) { throw new RuntimeException(e); } finally { } } //假设这个方法中,处理不了这个异常,方法上抛出异常 public void test(int a,int b) throws ArithmeticException{ if (b == 0) { //主动抛出异常throw throws,一般在方法中使用 throw new ArithmeticException(); } } } /* //假设捕获多个异常:从小到大 try { if(b==0){ //主动抛出异常throw throws throw new ArithmeticException(); } //监控区域 System.out.println(a/b); }catch (Error e){//捕获异常 System.out.println("Error"); }catch (Exception n) { System.out.println("Exception"); }catch (Throwable d) { System.out.println("Throwable"); } finally{ } {//处理善后工作 一定会执行 System.out.println("fianlly"); } try { //监控区域 new Test().a(); }catch (Throwable e){//捕获异常(想要捕获的异常类型 Throwable是最高的类型) System.out.println("程序出现异常,变量b不能为0"); }finally {//处理善后工作 一定会执行 System.out.println("fianlly"); } //finally 可以不要finally 假设 IO,资源 得关闭 时 需要finally } public void a(){ b(); } public void b(){ a(); } */ /* package com.exception; public class Test2 { public static void main(String[] args) { int a=1; int b=0; //ctrl+alt+t try { System.out.println(a/b); } catch (Exception e) { throw new RuntimeException(e); } finally { } } } */
自定义异常:
package com.exception.demo02; public class Test { //可能会存在异常的方法 static void test(int a) throws MyException { System.out.println("传递的参数为"+a); if(a>10){ throw new MyException(a);//抛出 } System.out.println("OK"); } public static void main(String[] args) throws MyException { try { test(11); } catch (MyException e) { System.out.println("MyException=>"+e); } finally { } } } /* package com.exception.demo02; //自定义异常类 public class MyException extends Exception{ //传递数字》10 private int detail; public MyException(int a) { this.detail=a; } //toString:异常的打印信息 @Override public String toString() { return "MyException{" + "detail=" + detail + '}'; } } */
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~