import java.util.InputMismatchException;
import java.util.Scanner;
public class DivisionProgram {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
// ユーザーã«2ã¤ã®æ•´æ•°ã‚’入力ã—ã¦ã‚‚らã†
System.out.print("最åˆã®æ•´æ•°ã‚’入力ã—ã¦ãã ã•ã„: ");
int num1 = scanner.nextInt();
System.out.print("æ¬¡ã®æ•´æ•°ã‚’入力ã—ã¦ãã ã•ã„: ");
int num2 = scanner.nextInt();
// 0ã§å‰²ã‚Šç®—ã‚’ã—よã†ã¨ã—ãŸå ´åˆã®ä¾‹å¤–処ç†
if (num2 == 0) {
throw new ArithmeticException("エラー: 0ã§å‰²ã‚Šç®—ã¯ã§ãã¾ã›ã‚“。");
}
// 除算ã®çµæžœã‚’表示
double result = (double) num1 / num2;
System.out.println("除算ã®çµæžœ: " + result);
} catch (InputMismatchException e) {
// 整数以外ã®å…¥åŠ›ãŒã‚ã£ãŸå ´åˆã®ä¾‹å¤–処ç†
System.out.println("エラー: 整数以外ã®å…¥åŠ›ãŒæ¤œå‡ºã•れã¾ã—ãŸã€‚");
} catch (ArithmeticException e) {
// 0ã§å‰²ã‚Šç®—ã—ãŸå ´åˆã®ä¾‹å¤–処ç†
System.out.println(e.getMessage());
} finally {
// Scannerã®ã‚¯ãƒãƒ¼ã‚º
scanner.close();
}
}
}
ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã¯ã€nextInt() メソッドを使用ã—ã¦æ•´æ•°ã‚’入力ã—ã€ArithmeticException ã‚„ InputMismatchException ã«å¯¾ã™ã‚‹ä¾‹å¤–処ç†ã‚’行ã£ã¦ã„ã¾ã™ã€‚ユーザーãŒ0ã§å‰²ã‚Šç®—ã‚’ã—よã†ã¨ã™ã‚‹ã‹ã€æ•´æ•°ä»¥å¤–ã®å…¥åŠ›ã‚’ã™ã‚‹ã¨ã€ãれãžã‚Œã®ä¾‹å¤–ãŒã‚ャッãƒã•れã¦ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•れã¾ã™ã€‚
複数ã®ä¾‹å¤–ã®å‡¦ç†
プãƒã‚°ãƒ©ãƒ 概è¦
ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«2ã¤ã®æ•´æ•°ã‚’入力ã—ã¦ã‚‚らã„ã€ãã‚Œã‚‰ã®æ•´æ•°ã‚’除算ã—ã¦çµæžœã‚’表示ã—ã¾ã™ã€‚ãŸã ã—ã€ä»¥ä¸‹ã®çжæ³ã‚’考慮ã—ã¦ã„ã¾ã™ã€‚
- ユーザーãŒ0ã§å‰²ã‚Šç®—ã‚’ã—よã†ã¨ã—ãŸå ´åˆã¯ã€
ArithmeticExceptionをスãƒãƒ¼ã—ã€ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ã¦ãƒ—ãƒã‚°ãƒ©ãƒ を終了ã—ã¾ã™ã€‚ - ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæ•´æ•°ä»¥å¤–ã®å…¥åŠ›ã‚’ã—ãŸå ´åˆã¯ã€
InputMismatchExceptionをスãƒãƒ¼ã—ã€ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ã¦ãƒ—ãƒã‚°ãƒ©ãƒ を終了ã—ã¾ã™ã€‚
プãƒã‚°ãƒ©ãƒ ã®ãƒã‚¤ãƒ³ãƒˆ
tryブãƒãƒƒã‚¯:- ユーザーã‹ã‚‰ã®å…¥åŠ›ã‚„è¨ˆç®—ãªã©ã€ä¾‹å¤–ãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚るコードを
tryブãƒãƒƒã‚¯å†…ã«é…ç½®ã—ã¾ã™ã€‚
- ユーザーã‹ã‚‰ã®å…¥åŠ›ã‚„è¨ˆç®—ãªã©ã€ä¾‹å¤–ãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚るコードを
catchブãƒãƒƒã‚¯:- å„種例外ã«å¯¾ã™ã‚‹å‡¦ç†ã‚’
catchブãƒãƒƒã‚¯ã«è¨˜è¿°ã—ã¾ã™ã€‚ - 最åˆã«
InputMismatchExceptionã«å¯¾ã™ã‚‹catchブãƒãƒƒã‚¯ãŒã‚ã‚Šã€æ•´æ•°ä»¥å¤–ã®å…¥åŠ›ãŒæ¤œå‡ºã•れãŸå ´åˆã«ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ã¾ã™ã€‚ - 次ã«
ArithmeticExceptionã«å¯¾ã™ã‚‹catchブãƒãƒƒã‚¯ãŒã‚りã€0ã§å‰²ã‚Šç®—ãŒæ¤œå‡ºã•れãŸå ´åˆã«ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ã¾ã™ã€‚
- å„種例外ã«å¯¾ã™ã‚‹å‡¦ç†ã‚’
finallyブãƒãƒƒã‚¯:finallyブãƒãƒƒã‚¯ã§ã¯ã€ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—ã®ãŸã‚ã®å‡¦ç†ã‚’記述ã—ã¾ã™ã€‚- ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã¯ã€
Scannerをクãƒãƒ¼ã‚ºã™ã‚‹å‡¦ç†ãŒfinallyブãƒãƒƒã‚¯ã«é…ç½®ã•れã¦ã„ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ãƒ—ãƒã‚°ãƒ©ãƒ ã®å®Ÿè¡ŒãŒçµ‚了ã—ã¦ã‚‚リソースãŒé©åˆ‡ã«è§£æ”¾ã•れã¾ã™ã€‚
throwæ–‡:- ç‰¹å®šã®æ¡ä»¶ãŒæº€ãŸã•れãŸå ´åˆã«ã€æ„図的ã«ä¾‹å¤–をスãƒãƒ¼ã™ã‚‹ãŸã‚ã«
throwæ–‡ãŒä½¿ç”¨ã•れã¦ã„ã¾ã™ã€‚ - 例ãˆã°ã€0ã§å‰²ã‚Šç®—ã—よã†ã¨ã—ãŸå ´åˆã«
ArithmeticExceptionをスãƒãƒ¼ã—ã¾ã™ã€‚
- ç‰¹å®šã®æ¡ä»¶ãŒæº€ãŸã•れãŸå ´åˆã«ã€æ„図的ã«ä¾‹å¤–をスãƒãƒ¼ã™ã‚‹ãŸã‚ã«
エラー処ç†ã®é‡è¦æ€§
エラー処ç†ã¯ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã®ä¿¡é ¼æ€§ã¨å®‰å®šæ€§ã‚’å‘上ã•ã›ã‚‹ãŸã‚ã«éžå¸¸ã«é‡è¦ã§ã™ã€‚é©åˆ‡ãªã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«æ˜Žç¢ºãªæƒ…å ±ã‚’æä¾›ã™ã‚‹ã“ã¨ã§ã€å•題ãŒç™ºç”Ÿã—ãŸå ´åˆã§ã‚‚プãƒã‚°ãƒ©ãƒ ã‚’é©åˆ‡ã«çµ‚了ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚例外処ç†ã‚’通ã˜ã¦ã€ãƒ—ãƒã‚°ãƒ©ãƒ ãŒç•°å¸¸ãªçŠ¶æ…‹ã«éé‡ã—ãŸå ´åˆã«ãã¡ã‚“ã¨å¯¾å‡¦ã§ãるよã†ã«ã—ã¾ã—ょã†ã€‚
「019 例外ã¨ä¾‹å¤–処ç†ã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント