欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA Exception

程序员文章站 2022-07-15 12:58:30
...

package com.zhengHong.chongZaiClass;

import java.util.InputMismatchException;
import java.util.Scanner;
import java.util.regex.Pattern;

public class Cal {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// String str = input.next();
// String s = input.next();
// int count = 0;
// int index = 0;
//// str.indexOf(s);返回当前字符串中s字符串出现的位置
// while ((index = str.indexOf(s))>=0){
// count++;
// str = str.substring(index + s.length());
// }
// System.out.println(count);

// System.out.println(“输入一个邮箱地址:”);
// String email = input.next();
// 正则表达式(模板)
// 1、String方法matches(正则表达式)
// String reg = “\w{3,}@\w{3,}.\w{3,}”;//第一个斜杠转义字符
//// System.out.println(email.matches(reg));
// Pattern p = Pattern.compile(reg);//正则表达式的类
// boolean bool = p.matcher(email).matches();
// System.out.println(bool);

// System.out.println(“判断电话号:”);
// String pn = input.next();
// Pattern p = Pattern.compile(“1[3,4,6,9,8][0-9]{9}”);
// boolean bool = p.matcher(pn).matches();
// System.out.println(bool);

// 出现异常 (运行时出现的问题) 并非编译的语法错误
// try{有可能出现异常的语句} catch(异常){}
// try语句块中出现异常就执行catch不会中断程序(只是try中的异常后面语句不执行)
//异常也分种类
//try 块出现异常 会和catch中的相匹配,如果匹配不上继续中断
//异常不可能同时出现两种

    int result = 0;
    try{
        int num1 = input.nextInt();
        int num2 = input.nextInt();
        result = num1/num2;
    }catch (InputMismatchException e){//此处的e没有赋值,没有new,值为null
        e.printStackTrace();//此处的e的地址为以上try块中异常地址,就是如果没有异常就不执行catch块
        System.out.println(e.getMessage());
        System.out.println("输出语法错误!");
    }catch (ArithmeticException a){
        System.out.println("算法异常");
    }finally {
        System.out.println("finally");
    }
    System.out.println(result);



}