`

java exception

    博客分类:
  • Java
阅读更多

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[i];
        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[i] = 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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics