首页 > 编程语言 >Java异常的处理:

Java异常的处理:

时间:2024-10-23 15:48:51浏览次数:3  
标签:Java 处理 System try Text1 catch 异常 out

Java异常分成两个部分:“抛出异常”和"捕获异常"

        Java异常处理机制是:将可能发生异常的语句写入try{ }中,当try语句中发生异常时,系统会生成一个异常对象,该异常对象会提交给Java运行时环境,这个过程称为“抛出异常”。

        当出现异常时,会去匹配可以处理异常的catch语句,如果找到,则给catch处理,这个过程为

“捕获异常”找不到则给调用者处理异常,该异常对象就交给函数调用者处理。

public static void main(String[] args) {
    Scanner scan=new Scanner(System.in);
    
    try {
        int n=scan.nextInt();//输入时可能会出现不是int型,会出现错误所以写入try中。
        switch(n){
        case 1:System.out.print("java");break;
        case 2:System.out.print("css");break;
        case 3:System.out.print("数据库");break;
        default:System.out.print("不存在");
        
        }
    } catch (Exception e) {
        System.out.print("请正确输入");
    }finally{
        System.out.print("结束");
    }
    }

当用户输入int型信息时则会返回try{ }内的内容,最后执行finally。

若输入的不是int型信息,则try会抛出异常,然后匹配可以解决的catch,由catch来捕获异常。

最终输出“请正确输入”“ ”结束”。

public static void main(String[] args) {
        Text1 text1=new Text1();
        try{
            text1.come();//用try-catch处理异常,作为方法的调用者,在这里处理异常。
        }catch(IOException e){
12:            e.printStackTrace();//1.可以显示异常所在代码的行数和调用栈信息
                                //2.可以显示异常的调用路径 
        }
        
    }
19:        public void come() throws IOException{//在方法头部声明抛出异样
    go();//该方法会出现异常,但是不处理
}
22:                public void go() throws IOException{//在方法头部声明抛出异样
    throw new IOException("出现异常了呦呦呦");//在此处抛出异常,但是没有处理异常
}

输出结果为:

java.io.IOException: 出现异常了呦呦呦
    at test.Text1.go(Text1.java:22)
    at test.Text1.come(Text1.java:19)
    at test.Text1.main(Text1.java:12)
 

标签:Java,处理,System,try,Text1,catch,异常,out
From: https://blog.csdn.net/2403_87261884/article/details/143129739

相关文章

  • 对接Java所谓的DES加解密
       众所周知,Java的一些封装方法中默认编码方式和实现略有不同与c#, 以及基础类型整型默认范围是有符号的,可以是负数,但是c#中默认是有符号的,不能为负数.    两者在对接的时候,涉及到一些编码方式,以及加解密时问题就来了,网上铺天盖地的各种兼容写法实际上手之后很难凑......
  • Java综合测试题精选
    一,填空题Javaapplication中的主类需要包含main方法,main方法的返回类型是void。Java正则表达式中,通配符\w等同于大小写字母,数字和下划线。System.out.println(true?false:true==true?false:true);输出结果为false。在Java中对于基本类型变量,Java是传值的副本;对于......
  • java8 stream详细理解
    stream简介Java8中的Stream是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregateoperation),或者大批量数据操作(bulkdataoperation)。StreamAPI借助于Lambda表达式,极大的提高编程效率和程序可读性。stream接口方法......
  • (分享源码)计算机毕业设计必看必学 上万套实战教程手把手教学JAVA、PHP,node.js,C++、pyth
    摘 要大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在网络小说的要求下,开发一款整体式结构的小说网站,将复杂的系统进行拆分,能够实现对需求的变化快速响应、系统稳定性的保......
  • Java 泛型 Lambda 表达式
    介绍泛型是程序设计的一种特性,它允许强类型程序语言设计代码定义一些可以变的部分,编程中用泛型来代替某个实际的类型,而后通过实际调用传入的类型对泛型进行替换,达到代码复用的目的,有些像函数传参**使用泛型,操作的数据类型被指定为一个参数,这种参数在类接口和......
  • 计算机毕业设计项目推荐,基于协同过滤算法的短视频推荐系统设计与实现30213(开题答辩+程
    摘 要现阶段,社会的发展和科技的进步,以及大数据时代下纷繁数据信息的融合,使得人们在生产及生活过程中,都将会接收到各种类型的数据信息,而通过计算机技术与网络技术,则能够将众多人们所不了解或不常用的信息,以简单的模式转化并传递给人们,使得人们的生产及生活质量得以显著提升......
  • 计算机毕业设计项目推荐:基于Web的社区人员管理系统的设计36303(开题答辩+程序定制+全套
    摘要科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规则和开发步骤,采用ASP.NET技术建设社......
  • Java中super和this的用法和区别
    一、this是自身的一个对象,代表对象本身,可以理解为指向对象本身的一个指针this是用来访问本类实例属性和方法的,它会先从本类中找,如果本类中找不到则在父类中找this属性使用:用来赋值本类属性(最常见的用法),写类时的setter方法eg:publicvoidsetId(intid){this.id=i......
  • 2024java面试常见八股文整理
    Java基础1.常用的Java集合有哪些,有什么应用场景Java集合可以分为Collection和Map两种体系Collection接口:单列数据,定义存取一组对象的方法的集合LIst:元素有序、可重复的集合Set:元素无序、不可重复的集合Map接口:双列数据,保存具有映射关系“Key-value对”的集合2.Java线......
  • 最新Java面试题合集,将持续更新!
    1.7.重载和重写的区别重写(Override)从字面上看,重写就是重新写一遍的意思。其实就是在子类中把父类本身有的方法重新写一遍。子类继承了父类原有的方法,但有时子类并不想原封不动的继承父类中的某个方法,所以在方法名,参数列表,返回类型(除过子类中方法的返回值是父类中方法返回......