美文网首页js css html
Java--异常--导引问题

Java--异常--导引问题

作者: 李赫尔南 | 来源:发表于2022-09-04 08:41 被阅读0次

  在实际工作中,我们遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求;你的程序要打开某个文件,这个文件可能不存在或者文件格式不对;你要读取数据库的数据,数据可能是空的;我们的程序再运行着,但是内存或硬盘可能满了等等。

  软件程序在运行过程中,非常可能遇到刚刚提到的这些问题,我们称之为异常,英文是:Exception,意思是例外。遇到这些例外情况,或者叫异常,我们怎么让写的程序做出合理的处理,安全的退出,而不至于程序崩溃呢?

  如果我们要拷贝一个文件,在没有异常机制的情况下,我们需要考虑各种异常情况,伪代码如下:
【示例】伪代码使用if处理程序中可能出现的各种情况

public class Test{
    public static void main(String[] args){
        //将d:/a.txt复制到e:/a.txt
        if("d:/a.txt"这个文件存在){
            if(e盘的空间大于a.txt文件长度){
                if(文件复制一半IO流断掉){
                    停止copy,输出:IO流出问题!
                } else {
                    copyFile ("d: /a.txt", "e: /a.txt");
            } else{
                System.out.println("e盘空间不够存放a.txt!");
            }
        } else {
            System.out.println("a.txt不存在!");
        }
    }
}

这种方式,有两个坏处:
  1. 逻辑代码和错误处理代码放一起!
  2. 程序员本身需要考虑的例外情况较复杂,对程序员本身要求较高!
  那么,我们如何解决应对异常情况呢?Java的异常机制给我们提供了方便的处理方式。如上情况,如果是用Java的异常机制来处理,示意代码如下(仅限示意,不能运行):

try{
    copyFile("d:/a.txt", "e:/a.txt");
} catch(Exception e) {
    e.printStackTrace();
}

异常机制本质
  就是当程序出现错误,程序安全退出的机制。

相关文章

  • Java--异常--导引问题

      在实际工作中,我们遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求;你的程序要打...

  • Java--异常处理

    异常 异常不是编译时的错误(Error),异常是运行时错误(Exception) 异常处理流程 代码出现错误后,它...

  • Java--异常分类

      JDK 中定义了很多异常类,这些类对应了各种各样可能出现的异常事件,所有异常对象都是派生于Throwable类...

  • Java--异常的概念

      异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。  在...

  • Java--自定义异常

      1. 在程序中,可能会遇到JDK提供的任何标准异常类都无法充分描述清楚我们想要表达的问题,这种情况下可以创建自...

  • 清理程序导引问题

    【】里为问题的基本形态,()里的是帮助你完善释放的建议。当然啦,你可以选择不使用附加问题,也可以自己编一些适合自己...

  • java--参数传递问题

    【前方注意】:java中只存在值传递,值传递,值传递!!! 一、值传递(一切传引用其实本质上是传值) 总所周知,j...

  • Eclipse 开发基本配置与快捷键

    自动提示Window -->> Preferences -->> Java-->> Editor-->> Cont...

  • Java--异常的处理方式之一:捕获异常

      捕获异常是通过3个关键词来实现的:try-catch-finally。用try来执行一段程序,如果出现异常,系...

  • Eclipse自动补全

    Windows——>Preferences——>Java-->Editor-->Content Asist,在Au...

网友评论

    本文标题:Java--异常--导引问题

    本文链接:https://www.haomeiwen.com/subject/enevnrtx.html