欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java连载63-异常处理try...catch...、方法getMessageyu printStackTrace

程序员文章站 2022-06-14 20:06:00
一、处理异常的第二种方法 1.try......catch... 语法: try{ 可能出现异常的代码; }catch{ 处理异常的代码; }catch{ 注意: (1)引入了什么异常,catch里面就要写清楚,出现了什么异常该怎么办; (2)异常也可以有父类和子类,按照从上到下的顺序进行捕捉;因此 ......

一、处理异常的第二种方法

1.try......catch...

语法:

 

try{

  可能出现异常的代码;

}catch{

  处理异常的代码;

}catch{

 

 

注意:

(1)引入了什么异常,catch里面就要写清楚,出现了什么异常该怎么办;

(2)异常也可以有父类和子类,按照从上到下的顺序进行捕捉;因此当写异常的时候需要按照从上到下,从小到大(也就是从子类异常到父类异常)

(3)try,,,catch....中最多执行一个catch语句块,执行结束之后try.....catch....就结束了。

 

package com.bjpowernode.java_learning;

import java.io.*;

public class d63_1_trycatchexercise {

  public static void main(string[] args) {

    try {

      fileinputstream f1 = new fileinputstream("c:\\user");

      f1.read();

    }catch(arithmeticexception a) {

     

    }catch(filenotfoundexception f) {

     

    }

  }

}

 

 

对于throws处理的异常,要对代码块中可能出现的异常进行覆盖,否则就会报错,例如:原因就是没有处理read()方法引入的ioexception异常。

 

package com.bjpowernode.java_learning;

import java.io.*;

public class d63_1_trycatchexercise {

  public static void main(string[] args) throws filenotfoundexception{

      fileinputstream f1 = new fileinputstream("c:\\user");

      f1.read();

   }

}

 

 

改正方式就是改一行代码

 

public static void main(string[] args) throws filenotfoundexception,ioexception

 

 

二、getmessage与printstacktrace方法

 

package com.bjpowernode.java_learning;

 

import java.io.*;

 

public class d63_2_methodofgetmessageandprintstacktrace {

  public static void main(string[] args) {

    try {

      fileinputstream f1 = new fileinputstream("c:\\fjdoa");

    }catch (filenotfoundexception e) {

      //打印异常堆栈信息

      //一般情况下都会使用该方法去调试程序

      e.printstacktrace();

      //下面这个方法与上面这个方法的功能其实是一样的,但是通常使用上面的方法,因为上面的方法能够打印出更加详细的信息

      string msg = e.getmessage();

      system.out.println(msg);

    }

    system.out.println("abc");

  }

}

Java连载63-异常处理try...catch...、方法getMessageyu printStackTrace

三、源码:

d63_1_trycatchexercise.java

d63_2_methodofgetmessageandprintstacktrace.java

https://github.com/ruigege66/java/blob/master/d63_1_trycatchexercise.java

https://github.com/ruigege66/java/blob/master/d63_2_methodofgetmessageandprintstacktrace.java

2.csdn:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

Java连载63-异常处理try...catch...、方法getMessageyu printStackTrace