`
CSU.pursuer
  • 浏览: 6839 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

java异常

    博客分类:
  • java
阅读更多

java异常

在我们平时写代码的时候,经常会遇到%*Exception的错误提示,有时候程序还能运行实现一部分代码的功能,有时候程序都不能运行。这一类问题就是java异常。

发现错误的理想阶段是在程序运行之前的编译阶段,但是编译阶段不可能解决所有的问题。有时候在一种环境下运行程序的时候没有问题,但是当外部环境变化之后就会产生一些错误。比如说File类中我实例化了一个名字为fe的对象,并用这个fe对象创建一个新的文件,即fe.createNewFile();我们都知道,系统在同一个目录下是不允许同名文件存在的。假设我们要在一个目录下创建一个文件,我们在用File创建文件的时候并不知道在这个目录下是否有一个和我们要创建的文件名字相同的文件,如果有的话,程序在运行的时候就会出现错误,这个就是一种异常,由此我们得出异常可以是指可能由于外部系统环境导致程序可能出现中断运行的原因也就是导致了程序非正常结束。当然,异常并不是只有这一种,通常我们遇到的异常有两大种;

运行时异常(如数组越界异常,栈溢出异常,类型转换异常,空指针异常,参数为负数,文件不存在等等)和强制类异常(如上面举的例子)

在碰到强制类异常时,我们可以用trycatchfinally处理。

trycatch处理问题时就相当于给一个问题想出了两种方案,先使用第一种方案(try中的),A方案行不通是就转到B方案。

Try{ A方案

}catch{ B方案

}

如果在trycatch后面还有finally{

}则不管异常怎么样(是否被执行,执行了A方案还是B方案)finally中的代码都会被执行。

除了用trycatch解决异常外,我们还可以用throws来抛出一个异常而不进行处理,我们也可以用throw来实例化一个异常,throw new Exception();。当我们再编写软件的时候,应该尽量解决异常,而不是抛出异常,当我们编写第三方插件的时候,可以抛出这个异常,问题就交给用插件的人去解决。

当我们遇到关于异常Exception的报错的时,我们可以查阅API文档了解这个Exception的有关信息,找到导致异常的最初代码,可以用System.out..println();分析问题,然后通过合适的方法解决之。

以上就是关于java异常的浅显的解释,有不对的地方欢迎大家指正。

<!--EndFragment-->
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics