企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## Java专题四:异常 [TOC] ![](https://img.kancloud.cn/cf/59/cf593355c70dd66461badfc0411d4c78_1453x483.png) ### 4.1. try-catch-finally捕获异常 - 如果`try`语句块中发生异常,会执行`catch`的语句块,没有异常,则不执行`catch`的语句块 - 无论是否发生异常,`finally`语句块都会被执行 - 可以使用多个`catch`来捕获多个异常 ~~~ try { float fl = 10/0; Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } catch (ArithmeticException e) { e.printStackTrace(); } finally{ // do something } ~~~ ### 4.2. throw和throws抛出异常 - 方法上抛出异常,使用`throws`关键字 ~~~ public void fun() throws IOException{ // do something } ~~~ - 方法中抛出异常,使用`throw`关键字 ~~~ public void fun() { // do something throw new IndexOutOfBoundsException(); } ~~~ ### 4.3. 自定义异常 1. 继承自`Exception`,受检查的异常 2. 继承自`RuntimeException`,运行时的异常 ~~~ class JOSNParseException extends Exception{ // do something } ~~~