黑马程序员技术交流社区
标题:
哪位大神帮忙检查一下异常处理是否合适
[打印本页]
作者:
追逐
时间:
2014-4-1 12:00
标题:
哪位大神帮忙检查一下异常处理是否合适
import java.io.File;
import java.io.IOException;
import java.util.Properties;
import java.io.FileInputStream;
import java.io.FileOutputStream;
class PropertiesTest
{
public static void main(String[] args)
{
//写一个集合
Properties pt = new Properties();
File f = null;
FileInputStream fis = null;
try
{
f = new File("count.ini");
if(!f.exists()) //判读文件是否已建立
f.createNewFile(); //如果没有建立则新建一个文件
//对文件读取
fis = new FileInputStream(f);
pt.load(fis); //把流中的数据存储到集合中
//定义计数器
int count = 0;
//通过键值获取元素
String value = pt.getProperty("time");
if(value != null)
{
count = Integer.parseInt(value); //如果不为空就把元素强转为整型赋值给技术器
if(count >= 5) //如果使用到第五次就跳出循环不在执行程序
{
System.out.println("您好。请交钱。");
return ; //停止循环
}
}
count++; //计数器自增
pt.setProperty("time", count + ""); //把数据存储进集合中
}
catch (IOException e)
{
throw new RuntimeException("读取失败");
}
FileOutputStream fos =null;
try
{
fos = new FileOutputStream(f); //建立写入流
pt.store(fos, ""); //通过store方法把数据写入到集合中
}
catch (IOException e)
{
throw new RuntimeException("写入失败");
}
finally
{
try
{
if(fis != null)
fis.close();
}
catch (IOException e)
{
throw new RuntimeException("读取关闭失败");
}
finally
{
try
{
if(fos != null)
fos.close();
}
catch (IOException e)
{
throw new RuntimeException("写入关闭失败");
}
}
}
}
}
复制代码
作者:
黄晓鑫
时间:
2014-4-1 12:20
绝对不合适,用户不需要什么失败,只要知道不成功就行了 你把问题进行处理的时候 再次转换成同一个异常抛出 但是如果你只是测试那会可以,不过产品上线那是不可能滴
作者:
追逐
时间:
2014-4-1 13:18
黄晓鑫 发表于 2014-4-1 12:20
绝对不合适,用户不需要什么失败,只要知道不成功就行了 你把问题进行处理的时候 再次转换成同一个异常抛出 ...
额。哦哦。这个只是我在看视频的时候写的代码。因为视频上是直接把异常抛出去了。我是尝试着自己添加异常。想问问这么添加异常try语句中放的那些句子是否都可以这么放吗?try语句中的那些句子放在try语句中是否合适。如果不合适的话又该怎么放。大神能帮忙解决一下吗
作者:
Engle
时间:
2014-4-1 22:18
你如果不想把异常抛出去给你这个方法的调用者处理的话,那你可以通过返回值的方式处理异常,例如:你可以给这个方法返回File对象,你的catch块里的代码可以return nul;
对你这个方法的调用者而言,如果成功了就会返回一个File对象,失败了就返回null.真实的开发场景基本是这么处理的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2