六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 75|回复: 0

java exception

[复制链接]

升级  28.8%

200

主题

200

主题

200

主题

进士

Rank: 4

积分
644
 楼主| 发表于 2013-2-7 18:23:53 | 显示全部楼层 |阅读模式
http://topic.csdn.net/u/20090108/22/dc7e85d9-8196-47be-a66c-83f7a6f86865.html?57688550
用户输入10个数(整型),否则抛出自定义异常,并且将此数置0,
如果总数>1000,则抛出自定义异常,并且将总和写入磁盘文件(在自定义异常中做)。
 
sadfsf
ExceptionTest .java
package com.javaeye.lindows.exception; import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileOutputStream;import java.io.IOException;public class ExceptionTest {    private static final int MAX = 1000;    public static void main(String[] args) throws OutOf1000Excetion {        int[] inputData = getInputData();                int sum = 0;        for(int i = 0; i < inputData.length; i++)            sum += inputData;        if(sum > 1000)            throw new OutOf1000Excetion(sum, "Out of 1000");        System.out.println("Sum=" + sum);    }    private static int[] getInputData() {        int size = 10;        int ret[] = new int[size];        DataInputStream dis = new DataInputStream(System.in);        String temp = null;        for (int i = 0; i < 10; i++) {            System.out.println("please enter integer[" + i + 1 + "]:");            try {                temp = dis.readLine();                if (!temp.matches("[+-]?\\d+")) {                    temp = "0";                    throw new NotIntegerException("Not Integer.");                }            } catch (Exception e) {            }            ret = Integer.parseInt(temp);        }        return ret;    }}class NotIntegerException extends Exception {    public NotIntegerException() {        super();    }    public NotIntegerException(String message) {        super(message);    }}class OutOf1000Excetion extends Exception {    public OutOf1000Excetion(int sum, String message) {        super(message);        writeToDisk(sum);    }        private void writeToDisk(int sum)    {        DataOutputStream dos = null;        try {            dos = new DataOutputStream(new FileOutputStream("D:\\input.txt"));            dos.write(String.valueOf(sum).getBytes());            dos.flush();            dos.close();        } catch (Exception e) {            e.printStackTrace();            if(dos!=null)                try {                    dos.close();                } catch (IOException e1) {                    e1.printStackTrace();                }            return;        }    }} 
 
asdfaf
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表