Java “Unhandled exception type Exception”错误提示 (转)
原文地址:http://www.olnote.com/itlife/note/100000089.html
在Java中除了RuntimeException及其任何子类,其他异常类都被Java的异常强制处理机制强制异常处理。
关于那些被强制异常处理的代码块,必须进行异常处理,否则编译器会提示“Unhandled exception type Exception”错误警告。
- Java中用于处理异常的方式
- 自行处理:可能引发异常的语句封入在try内,而处理异常的相应语句则封入catch块内
回避异常:在方法声明中包含throws子句,通知潜在调用者,如果发生了异常,必须由调用者处理。 - 示例
- package Test;
import java.io.*;
import javax.swing.JOptionPane;
public class TestExceptionHandle {
/**
* @param args
*/
public static void main(String[] args) {
// JOptionPane.showInputDialog可能会抛出HeadlessException,HeadlessException是RuntimeException的子类,编译器并不会强制异常处理。
String fileName = JOptionPane.showInputDialog("FileName=");
// 通过try...catch语句自行处理异常。
try {
String str = ReadFile(fileName);
JOptionPane.showMessageDialog(null, str);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex.getStackTrace());
}
}
/**
* 读取文件内容并以文本形式返回。
*
* @param fileName
* 文件名。
* @return 文件内容。
* @throws IOException
* -当IO错误时发生。
*/
// 用throws声明该方法可能抛出的异常信息,从而回避异常。
public static String ReadFile(String fileName) throws IOException {
FileReader fleReader = null;
try {
fleReader = new FileReader(fileName);
StringBuffer buffer = new StringBuffer();
char data[] = new char[1024];
int count = 0;
do {
count = fleReader.read(data);
if (count != -1) {
buffer.append(data, 0, count);
}
} while (count != -1);
return buffer.toString();
} finally {
fleReader.close();
}
}
}