try...catch异常处理的第二种方式以及Throwable类中3个异常处理的方法
try_catch_异常处理的第二种方式自己处理异常
try....catch:异常处理第二种方式,自己处理异常
格式:
try{ 可能产生异常的代码 }catch(定义一个异常的变量,用来接收try中抛出的异常对象){ 异常的处理逻辑,异常对象之后,怎么处理异常对象 一般在工作中,会把异常的信息记录到一个日志中 } ... catch(异常类名 变量名){ }
注意:
1.try中可能会抛出多个异常对象,那么就可以使用多个catch来处理这些异常对象
2.如果try中产生了异常,那么就会执行catch中的异常处理逻辑,执行完毕catch中的处理逻辑,继续执行try...catch之后的代码
3.如果try中没有产生异常,那么就不会执行catch中异常的处理逻辑,执行完try中的代码,继续执行try...catch之后的代码
public static void main(String[] args) { try{ readFile("d:\\a.tx"); } catch (Exception e) { System.out.println("catch -传递的文件后缀名不正确"); } System.out.println("后续代码"); } public static void readFile(String fileName) throws Exception { /* 判断后缀名是否正确,不正确抛出异常给出对应的错误提示 */ if (!fileName.endsWith(".txt")){ throw new IOException("文件的后缀名不对"); } System.out.println("路径没有问题,读取文件"); }
运行结果:(错误的)

运行结果:(正确的)

Throwable类中3个异常处理方法
Throwable类中定义了一些查看方法:
public String getMessage():获取异常的描述信息,原因(提示给用户的时候,就提示错误原因) public String toString():获取异常的类型和异常描述信息(不用) public void printStackTrace():打印异常的跟踪栈信息并输出到控制台
代码实现案列:
public static void main(String[] args) { try{ readFile("d:\\a.txat"); } catch (Exception e) { // System.out.println("catch -传递的文件后缀名不正确"); /* Throwable类中定义了一些查看方法: public String getMessage():获取异常的描述信息,原因(提示给用户的时候,就提示错误原因) public String toString():获取异常的类型和异常描述信息(不用) public void printStackTrace():打印异常的跟踪栈信息并输出到控制台 */ System.out.println(e.getMessage()); System.out.println(e.toString()); e.printStackTrace(); } System.out.println("后续代码"); } public static void readFile(String fileName) throws Exception { /* 判断后缀名是否正确,不正确抛出异常给出对应的错误提示 */ if (!fileName.endsWith(".txt")){ throw new IOException("文件的后缀名不对"); } System.out.println("路径没有问题,读取文件"); }
运行结果:


浙公网安备 33010602011771号