当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

Java非常处理及其操纵[Java编程]

赞助商链接



  本文“Java非常处理及其操纵[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

Java非常处理引出

假定您要编写一个 Java 程序,该程序读入用户输入的一行文本,并在终端显示该文本.

程序以下:

1 import java.io.*;
2 public class EchoInput {
3   public static void main(String args[]){
4     System.out.println("Enter text to echo:");
5     InputStreamReader isr = new InputStreamReader(System.in);
6     BufferedReader inputReader = new BufferedReader(isr);
7     String inputLine = inputReader.readLine();
8     System.out.println("Read:" + inputLine);
9  }
10 }

解析上面的代码,在 EchoInput 类中,第 3 行声明了 main 办法;第 4 行提醒用户输入文本;第 5、6 行设置 BufferedReader 对像衔接到 InputStreamReader,而 InputStreamReader 又衔接到尺度输入流 System.in;第 7 行读入一行文本;第 8 行用尺度输出流 System.out 显示出该文本.

表面看来上面的程序没有问题,但实际上,EchoInput 类完好大概呈现问题.要在调用第 7 行的 readLine 办法时精确读取输入,这几种假定都必须成立:假定键盘有效,键盘能与计算机正常通信;假定键盘数据可从操作系统传输到 Java 虚拟机,又从 Java 虚拟机传输 inputReader.

大大都情形下上述假定都成立,但不尽然.为此,Java 采取非常办法,以应对大概呈现的错误,并采纳步骤举行改正.在本例中,若试图编译以上代码,将看到以下信息:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
   Unhandled exception type IOException
   at EchoInput.main(EchoInput.java:7) 

从中可以看到,第 7 行调用 readLine 办法大概出错:若果真如此,则产生 IOException 来记录弊端.编译器错误是在奉告您,需求更改代码来办理这个潜在的问题.在 JDK API 文档中,可以看到一样的信息.我们可以看到 readLine 办法,如图 1 所示.

图 1. BufferedReader 类的 readLine 办法的 JDK API 文档

由图 1 可知,readLine 办法有时产生 IOException.若何处理潜在的弊端?编译器需求“捕捉”或“声明”IOException.

“捕捉 (catch)”指当 readLine 办法产生错误时截获该错误,并处理和记录该问题.而“声明 (declare)”指错误大概引发 IOException,并告诉调用该办法的任何代码:大概产生非常.

若要捕捉非常,必须增添一个特别的“处理代码块”,来接纳和处理 IOException.于是程序改成以下:

1 import java.io.*;
2 public class EchoInputHandle {
3   public static void main(String args[]){
4     System.out.println("Enter text to echo:");
5     InputStreamReader isr = new InputStreamReader(System.in);
6     BufferedReader inputReader = new BufferedReader(isr);
7     try{
8       String inputLine = inputReader.readLine();
9       System.out.println("Read:" + inputLine);
10     }
11     catch(IOException exc){
12       System.out.println(“Exception encountered: ” + exc);
13     }
14   }
15 }

新添的代码块包含关键字 try 和 catch(第 7,10,11,13 行),表示要读取输入.若成功,则正常运行.若读取输入时错误,则捕捉问题(由 IOException 对象表示),并采纳呼应办法.在本例,采取的处理方法是输出非常.

若不预备捕捉 IOException,仅声明非常,则要分外指定 main 办法大概出错,并且分外阐明大概产生 IOException.于是程序改成以下:

1 import java.io.*;
2 public class EchoInputDeclare {
3   public static void main(String args[]) throws IOException{
4     System.out.println("Enter text to echo:");
5     InputStreamReader isr = new InputStreamReader(System.in);
6     BufferedReader inputReader = new BufferedReader(isr);
7     String inputLine = inputReader.readLine();
8     System.out.println("Read:" + inputLine);
9  }
10 }

从上面的这个简单的例子中,我们可以看出非常处理在 Java 代码开辟中不能被轻忽.


  以上是“Java非常处理及其操纵[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .