Skip to content

Latest commit

ย 

History

History
90 lines (72 loc) ยท 3.06 KB

File metadata and controls

90 lines (72 loc) ยท 3.06 KB

JAVA์—์„œ์˜ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์ฝ”๋“œ


๐Ÿ˜ข ์Šคํƒ ํŠธ๋ ˆ์ด์Šค ์ถœ๋ ฅ โ†’ ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€ ์ •๋ณด ์œ ์ถœ

public staic void main(String[] args) {
    String urlString = args[0];
    try {
        URL url = new URL(urlString);
        URLConnection cmx = url.openConnection();
        cmx.connect();
    } catch (Exception e) {
        // error๋ฅผ catchํ•˜๋ฉด Stack Trace๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
        e.printStackTrace();
    }
}

์œ„ ์ฝ”๋“œ์—์„œ๋Š” Exception์„ catch ํ–ˆ์„ ๋•Œ Stack Trace๋ฅผ ์ถœ๋ ฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€ ์ •๋ณด๊ฐ€ ์œ ์ถœ๋  ์ˆ˜ ์žˆ๋‹ค.

image

(์ฐธ๊ณ : https://www.educative.io/edpresso/what-is-the-printstacktrace-method-in-java)

์•ˆ์ „ํ•œ ์ฝ”๋“œ

public staic void main(String[] args) {
    String urlString = args[0];
    try {
        URL url = new URL(urlString);
        URLConnection cmx = url.openConnection();
        cmx.connect();
    } catch(Exception e) {
        System.out.println("์—ฐ๊ฒฐ ์˜ˆ์™ธ ๋ฐœ์ƒ");
    }
}

๊ทธ๋ž˜์„œ StackTrace๋ฅผ printํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์œ„์ฒ˜๋Ÿผ System.out.println("์—ฐ๊ฒฐ ์˜ˆ์™ธ ๋ฐœ์ƒ");์ฒ˜๋Ÿผ ์ •๋ณด๋ฅผ ์œ ์ถœํ•˜์ง€ ์•Š๋Š” ๋ฌธ๊ตฌ๋ฅผ ์ถœ๋ ฅํ•ด ์ค€๋‹ค.

๐Ÿ˜ข ์˜ˆ์™ธ ๋‚ด์šฉ ์ถœ๋ ฅ โ†’ ์‹œ์Šคํ…œ ์ •๋ณด ์œ ์ถœ

public void ReadConfiguration() {
    try {
        BufferedReader in = new BufferedReader(new FileReader("config.cfg"));
        configuration.option1 = in.readLine();
        configuration.option2 = in.readLine();
        configuration.option3 = in.readLine();
    } catch(Exception e) {
        System.out.println(e.toString);
    }
}

์ด ์ฝ”๋“œ ๋˜ํ•œ ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์˜ˆ์™ธ ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ทจ์•ฝํ•˜๋‹ค. ๊ตฌ์ฒด์ ์ธ ์˜ˆ์™ธ ๋‚ด์šฉ์— ๋Œ€ํ•ด ์ „ํ˜€ ์•Œ ์ˆ˜ ์—†๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์•ˆ์ „ํ•˜๋‹ค.

์•ˆ์ „ํ•œ ์ฝ”๋“œ

public void ReadConfiguration() {
    try {
        BufferedReader in = new BufferedReader(new FileReader("config.cfg"));
        configuration.option1 = in.readLine();
        configuration.option2 = in.readLine();
        configuration.option3 = in.readLine();
    } catch(Exception e) {
        System.out.println("ํ™˜๊ฒฝ ์„ค์ •์„ ์‹คํŒจํ•˜์˜€์Šต๋‹ˆ๋‹ค");
    }
}

๐Ÿ˜ข ์—๋Ÿฌ ํŽ˜์ด์ง€๋กœ redirect โ†’ ๋ชจ๋‘ ๊ฐ™์€ ์—๋Ÿฌ ํŽ˜์ด์ง€ ๋ณด์—ฌ ์ฃผ๊ธฐ

์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ฌด์กฐ๊ฑด ์—๋Ÿฌ ํŽ˜์ด์ง€๋กœ ๊ฐ•์ œ redirect ์‹œํ‚ค๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•˜๋‹ค. ๊ณต๊ฒฉ์ž์—๊ฒŒ ์ •๋ณด๋ฅผ ๋…ธ์ถœ์‹œํ‚ค์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ๋Š” ์™ธ๋ถ€ ์„œ๋น„์Šค ์‹œ ๋ณด์ด๋Š” ์—๋Ÿฌ์— ๋Œ€ํ•ด ๋ฐœ์ƒ ์ข…๋ฅ˜์— ๋”ฐ๋ฅธ ์ฐจ์ด๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋ชจ๋‘ ๊ฐ™์€ ์—๋Ÿฌ ํŽ˜์ด์ง€๋งŒ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•˜๋‹ค.

์•ˆ์ „ํ•œ ์ฝ”๋“œ

    } catch(NumberFormatException e) {
        RequestDispatcherdispatcher = request.get.RequestDispatcher("data-error.jsp"); // ์—๋Ÿฌ ๋ฐœ์ƒ ์ฒ˜๋ฆฌ ์ฃผ์†Œ
        // ์—๋Ÿฌ ๋ฐœ์ƒ ์ฒ˜๋ฆฌ ์ฃผ์†Œ
        dispatcher.forware(request, response);
        // ์—๋Ÿฌ ์ฃผ์†Œ ํŽ˜์ด์ง€ ์ „ํ™˜
    }
}