当前位置: 技术问答>java相关
初学者请教,下面的程序为什么要抛出异常才可以正确运行?
来源: 互联网 发布时间:2015-07-26
本文导语: import java.io.*; import java.awt.*; import java.lang.*; class char1{ public static void main(String args[]){ String buffer; BufferedReader my_in = new BufferedReader(new InputStreamReader(System.in)); do{ System.out.print...
import java.io.*;
import java.awt.*;
import java.lang.*;
class char1{
public static void main(String args[]){
String buffer;
BufferedReader my_in
= new BufferedReader(new InputStreamReader(System.in));
do{
System.out.print("Enter a command:");
System.out.flush();
buffer = my_in.readLine();//提示这行出错,好像是readLine不能用。
}while(!buffer.equals("exit"));
}
}
我在别的论坛问过这个问题,他们只告诉我抛出异常就可以正常运行,但是当我问为什么非要抛出异常时,他们叫我自己去找书看,我找了n本书,但是都没有说为什么一定要抛出异常才可以运行,请各位帮忙解答一下,谢谢!!!
import java.awt.*;
import java.lang.*;
class char1{
public static void main(String args[]){
String buffer;
BufferedReader my_in
= new BufferedReader(new InputStreamReader(System.in));
do{
System.out.print("Enter a command:");
System.out.flush();
buffer = my_in.readLine();//提示这行出错,好像是readLine不能用。
}while(!buffer.equals("exit"));
}
}
我在别的论坛问过这个问题,他们只告诉我抛出异常就可以正常运行,但是当我问为什么非要抛出异常时,他们叫我自己去找书看,我找了n本书,但是都没有说为什么一定要抛出异常才可以运行,请各位帮忙解答一下,谢谢!!!
|
由于java追求的是无故障,健壮的代码,因此对一些可预知和不可预知的错误(如设备错误,算法缺陷等)要进行处理,有两种方法:
一种是捕获:
try{
...
}catch(xxException e){
...(出错处理)
}
一种是抛出
xxx(xxx)//函数声明
throws xxException{
...
try{
...
}catch(xxException e){
throw e;
}
....
}
一般io操作多需要捕获异常,下面的需要捕获IOException,
BufferedReader my_in= new BufferedReader(new InputStreamReader(System.in));
一种是捕获:
try{
...
}catch(xxException e){
...(出错处理)
}
一种是抛出
xxx(xxx)//函数声明
throws xxException{
...
try{
...
}catch(xxException e){
throw e;
}
....
}
一般io操作多需要捕获异常,下面的需要捕获IOException,
BufferedReader my_in= new BufferedReader(new InputStreamReader(System.in));
|
只有在正确的抛出异常后才能够运行,这是由java的安全性决定的!,
|
应为对流操作会抛出运行期错误,
在java中对于运行期的错误必须捕捉或者抛出
在java中对于运行期的错误必须捕捉或者抛出
|
所有的IO类都要抛出IOException异常
|
class char1{
public static void main(String args[]){
String buffer;
try{
BufferedReader my_in
= new BufferedReader(new InputStreamReader(System.in));
do{
System.out.print("Enter a command:");
System.out.flush();
buffer = my_in.readLine();//提示这行出错,好像是readLine不能用。
}while(!buffer.equals("exit"));
}
}catch(Exception e){}//处理io异常,因为你对流进行了读写,就能出现读写错误,所以一定要处理io异常。
}
public static void main(String args[]){
String buffer;
try{
BufferedReader my_in
= new BufferedReader(new InputStreamReader(System.in));
do{
System.out.print("Enter a command:");
System.out.flush();
buffer = my_in.readLine();//提示这行出错,好像是readLine不能用。
}while(!buffer.equals("exit"));
}
}catch(Exception e){}//处理io异常,因为你对流进行了读写,就能出现读写错误,所以一定要处理io异常。
}
|
java怕你在运行的时候关机三
|
Java的帮助文档上边,把每个类应该抛出的异常都有注明。因为考虑到鲁帮性,Java要求事先做异常的处理。所以你需要抛异常。