Java基础知识学习:异常(2)

  我们知道在程序代码执行的过程中,某个主线程可能会调用其他的代码程序,调用执行之后,回来继续执行主线程。这个过程中就需要堆栈来存储调用时的断点。(因为在嵌套调用的时候会需要存储多个断点,返回的时候再倒序依次返回,这要遵循后进先出的原则。)

Java基础知识学习:异常

  堆栈跟踪便可以看成是对代码调用的跟踪,当异常发生时可以根据该异常的printStackTrace()方法,打印出该异常的整个传递过程

  -----------------------------------------------------

  一个方法里如果会抛出异常,则必须在其方法后面声明 throws 异常名 。如果不声明则必须在这个方法里通过 try{}catch{} 将异常处理掉。

  一个方法可以声明多个异常抛出 throws 异常1 , 异常2 ,但是在以后调用该方法时必须有多个catch来捕捉不同的异常。温馨提示:往往在编程时,会把所有可能会有的异常(现在会有的和以后可能会有的)全都声明在方法之后,这是一种习惯。因为在后期在对该方法进行功能扩展时可能会遇到出现这些异常,而当时在声明这些异常之后编译器会提示你将这些异常一一catch,所以这时���只需要填补catch里的处理内容,这会来带一定的便利。

  下面是一个示例:

package exception; class OpenException extends Throwable {} class CloseException extends Throwable {} public class c { public static int open() { return -1; } public static void readFile() throws OpenException,CloseException { if(open() == -1) throw new OpenException(); } public static void main(String[] args) { try { readFile(); } catch (OpenException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (CloseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9a248c218a63a725914777950ec511a8.html