精华内容
下载资源
问答
  • 注意,一个事实是:Exception类是所有其他异常类的父类,所以Exception类能捕获所有的异常。问题是用Exception来捕获所有的异常,这个技术有什么好处和缺点?好处就是:不管发生什么异常,都能进入Exception catch块...

    3.用Exception类捕获所有异常  
    注意,一个事实是:Exception类是所有其他异常类的父类,所以Exception类能捕获所有的异常。问题是用Exception来捕获所有的异常,这个技术有什么好处和缺点?好处就是:不管发生什么异常,都能进入Exception catch块儿,这样,程序都不崩溃。缺点就是:不能根据特定的异常做特定的处理。比如,对于以上例子,我们可以用以下的技术,Exception来捕获所有的异常,都可以达到程序不崩溃的目的。因为Exception是所有其他异常的父类。

    例:1.3.1-
    public class Test {
        public static void main(String[] args) {
            int arg1;
            int result;
            String s="abc";
        //    String s="12";
            try {
                arg1 = Integer.parseInt(s);
                result = arg1 /0;
                System.out.println("try中完成finish");
            }
            catch (Exception e) {
                System.out.println(e);
            } 
            System.out.println("马克-to-win:优雅结束");
        }
    }


    例:1.3.2-
    public class Test {
        public static void main(String[] args) {
            int arg1;
            int result;
        //    String s="abc";
            String s="12";
         try {
                arg1 = Integer.parseInt(s);
                result = arg1 /0;
                System.out.println("try中完成finish");
            }
            catch (Exception e) {
                System.out.println(e);
            } 
            System.out.println("马克-to-win:优雅结束");
        }
    }
     

    更多请见:http://www.mark-to-win.com/tutorial/java_5_ExceptionCatchAllException.html

     

    展开全文
  • 什么是异常 正如文档开头所说,世界上并没有完美的程序,...Throwable有两个子类Exception(Java中所有异常类的父类)和Error(Java中所有错误类的父类)。 错误往往是程序运行时发生,程序员不可控制,对程序造成不可

    什么是异常

    正如文档开头所说,世界上并没有完美的程序,程序在运行中可能会存在着异常状态,这种异常状态,可能是异常(Exception),也可能是错误(Error),一个健壮性的程序就要考虑程序可能存在的异常状态,并对其进行处理。Throwable类是Java中所有错误和异常的超类,位于java.lang包,从JDK1.0开始引入。Throwable有两个子类Exception(Java中所有异常类的父类)和Error(Java中所有错误类的父类)。

    在这里插入图片描述
    错误往往是程序运行时发生,程序员不可控制,对程序造成不可逆转的影响,比如Java中OutOfMemoryError,内存溢出,导致程序宕机,错误在代码中通常被忽略,它们在编译也检查不到的,当然好的编程习惯合理运用各种数据结构,提升代码质量等等会减少OOM的发生率。

    异常会在编译或者运行时被发现,需要程序员去处理一部分异常,捕获异常,并合理的处理能保证程序的健壮性,让程序继续往下执行,不至于某个部分异常影响到整个应用,因此Java中异常类(Exception)是需要重点去学习关注的,下面所说的异常也都指Exception及其子类出现的异常

    受检异常(CheckedException)

    一般由外部错误引起,发生在编译阶段,Java编译器会强制捕获这类异常,要求使用try catch捕获。
    如果期望调用者能够适当的恢复,应该使用受检异常。
    运行时异常(RuntimeException)
    在Java虚拟机运行期间抛出的异常,出现运行时异常,通常都是程序员的错误导致的。//加入Java开发交流君样:756584822一起吹水聊天
    使用运行时异常表示编程错误,不应该也不需要捕获运行时异常。

    常见异常

    Java中内置了一些异常类来描述程序可能出现的受检异常和运行时异常。

    运行时异常

    在这里插入图片描述
    在这里插入图片描述

    异常处理

    程序产生的运行时异常往往是程序员的错误导致的,不应该去捕获运行时异常,受检异常需要我们去处理,保证程序的健壮性。Effecive Java中对于异常的处理通常有下面几种原则:

    • 异常应该只用于异常情况下,不应该用作流程控制

    • 对可恢复的情况使用受检异常,对编程错误使用运行时异常

    • 避免不必要的使用受检异常

    • 优先使用标准异常

    • 努力使失败保持原子性,失败的方法调用应该保持对象在调用之前的状态

    • 不要忽略异常
      image

    最新2020整理收集的一些高频面试题(都整理成文档),有很多干货,包含mysql,netty,spring,线程,spring cloud、jvm、源码、算法等详细讲解,也有详细的学习规划图,面试题整理等,需要获取这些内容的朋友请加Q君样:756584822

    展开全文
  • Java异常到底是什么

    2021-02-04 22:36:40
    什么是异常 正如文档开头所说,世界上并没有完美的程序,...Throwable有两个子类Exception(Java中所有异常类的父类)和Error(Java中所有错误类的父类)。 错误往往是程序运行时发生,程序员不可控制,对程序造成不可

    什么是异常

    正如文档开头所说,世界上并没有完美的程序,程序在运行中可能会存在着异常状态,这种异常状态,可能是异常(Exception),也可能是错误(Error),一个健壮性的程序就要考虑程序可能存在的异常状态,并对其进行处理。Throwable类是Java中所有错误和异常的超类,位于java.lang包,从JDK1.0开始引入。Throwable有两个子类Exception(Java中所有异常类的父类)和Error(Java中所有错误类的父类)。

    在这里插入图片描述
    错误往往是程序运行时发生,程序员不可控制,对程序造成不可逆转的影响,比如Java中OutOfMemoryError,内存溢出,导致程序宕机,错误在代码中通常被忽略,它们在编译也检查不到的,当然好的编程习惯合理运用各种数据结构,提升代码质量等等会减少OOM的发生率。

    异常会在编译或者运行时被发现,需要程序员去处理一部分异常,捕获异常,并合理的处理能保证程序的健壮性,让程序继续往下执行,不至于某个部分异常影响到整个应用,因此Java中异常类(Exception)是需要重点去学习关注的,下面所说的异常也都指Exception及其子类出现的异常

    受检异常(CheckedException)

    一般由外部错误引起,发生在编译阶段,Java编译器会强制捕获这类异常,要求使用try catch捕获。
    如果期望调用者能够适当的恢复,应该使用受检异常。
    运行时异常(RuntimeException)
    在Java虚拟机运行期间抛出的异常,出现运行时异常,通常都是程序员的错误导致的。//加入Java开发交流君样:756584822一起吹水聊天
    使用运行时异常表示编程错误,不应该也不需要捕获运行时异常。

    常见异常

    Java中内置了一些异常类来描述程序可能出现的受检异常和运行时异常。

    运行时异常

    在这里插入图片描述
    在这里插入图片描述

    异常处理

    程序产生的运行时异常往往是程序员的错误导致的,不应该去捕获运行时异常,受检异常需要我们去处理,保证程序的健壮性。Effecive Java中对于异常的处理通常有下面几种原则:

    • 异常应该只用于异常情况下,不应该用作流程控制

    • 对可恢复的情况使用受检异常,对编程错误使用运行时异常

    • 避免不必要的使用受检异常

    • 优先使用标准异常

    • 努力使失败保持原子性,失败的方法调用应该保持对象在调用之前的状态

    • 不要忽略异常
      image

    最新2020整理收集的一些高频面试题(都整理成文档),有很多干货,包含mysql,netty,spring,线程,spring cloud、jvm、源码、算法等详细讲解,也有详细的学习规划图,面试题整理等,需要获取这些内容的朋友请加Q君样:756584822

    展开全文
  • Java 自定义异常类(Exception子类)

    千次阅读 2020-04-04 15:42:10
    什么时候该自定义异常类? 举个例子: 定义了一个Word类,该类单词类,根据单词业务逻辑,单词中只能含有a~z、A~Z里字符,但是在初始化Word对象可能会有...所有异常的最终父类为Throwable类,自定义异常 ...

    什么时候该自定义异常类?

    举个例子:

    定义了一个Word类,该类是单词类,根据单词的业务逻辑,单词中只能含有a~z、A~Z里的字符,但是在初始化Word对象可能会有含有其他字符,当含有其他字符时,就让程序报错。

     如何自定义异常类?

    自定义异常为一般性问题,所以应该继承Exception类,直接继承Exception类为编译时出现异常的类,所以需要将可能出现异常的位置声明或捕获,代码如下:

    public class WordsCanOnlyBeComposedOfEnglishLettersException extends Exception{
    
    	public WordsCanOnlyBeComposedOfEnglishLettersException(String str) {
    	    //单词只能是英文单词
    		super(str);
    	}
    }
    //实体类中需要声明异常
    public class Word {
    	
    	private String word;
    	
    	public Word() {
    		word="";
    	}
    	public Word(String str) /*声明这里可能出现异常*/throws WordsCanOnlyBeComposedOfEnglishLettersException {
    		for(int i=0;i<str.length();i++) {
    			if(!((str.charAt(i)>='A'&str.charAt(i)<='Z')||(str.charAt(i)>='a'&str.charAt(i)<='z'))) {
    				throw new WordsCanOnlyBeComposedOfEnglishLettersException("含有非法字符");
    			}
    		}
    		word=str;
    	}
    	public void setWord(String str) /*声明这里可能出现异常*/throws WordsCanOnlyBeComposedOfEnglishLettersException {
    		for(int i=0;i<str.length();i++) {
    			if(!((str.charAt(i)>='A'&str.charAt(i)<='Z')||(str.charAt(i)>='a'&str.charAt(i)<='z'))) {
    				throw new WordsCanOnlyBeComposedOfEnglishLettersException("含有非法字符");
    			}
    		}
    		word=str;
    	}
    	public String getWord(String str) {
    		return word;
    	}
    }

    主类代码:(也要声明异常或者捕获异常)

    public class Main {
    	
    	public static void main(String[] args) /*声明异常throws WordsCanOnlyBeComposedOfEnglishLettersException*/{
    		//捕获异常
    		try {
    			
    			Word w1=new Word("hj1");
    			System.out.println("正常执行……");
    		}catch(WordsCanOnlyBeComposedOfEnglishLettersException w){
    			w.printStackTrace();
    		}
    		System.out.println("执行结束!");
    		
    	}
    }

    捕获结构:

    try{
        Demo1;//Demo1可能会出现异常
    
    }catch(Exception except){    //出现异常后,except为异常对象的引用
        Demo2;//Demo1出现异常后执行
    
    }finally{    //finally可写可不写
        Demo3;//无论Demo1出不出现异常都会执行
    
    }

     

    展开全文
  • 1、什么是异常异常就是Java程序在运行过程中出现的错误。简单来讲就是程序出现了不正常的情况。 异常由来:问题也是现实生活中的一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象。其实就是Java对...
  • 异常类

    2020-10-31 17:24:31
    java.lang.Throwable:异常类( Java 语言中所有错误或异常超类(父类)) error:严重错误(严重问题) 比如:内存异常!OOM(Out Of Memory) 通过加入内存条...或者将Linux虚拟机内存空间设置小一点! ...
  • Java - 异常类

    2021-06-15 09:59:41
    Throwable是Error和Exception的父类,用来定义所有可以作为异常被抛出来的。 Exception 什么是异常:程序运行过程中发生了无法预判的结果,需要进行异常处理。 异常捕捉 try…catch()…finally… 异常抛出 throws:...
  • day12-异常类

    2020-02-11 20:25:27
    所有异常的父类Throwable Throwable有两个子类Exception、Error,分别表示错误与异常,通常子类都会以Exception和Error为后缀 Error Error错误表示的JVM出现了问题,通常由两个常见的错误分别 StackOverflow...
  • 异常处理: 1.什么是异常?异常分类: 异常就是Java程序在运行过程中出现错误。...自定义异常:Java不可能提供所有异常,需要自己定义并继承相应异常父类。 2.请说说throws与throw区别: t...
  • ThrowableError和Exception的父类,用来定义所有可以作为异常被抛出来的。 Error Error编译时错误和系统错误,如: 虚拟机错误 内存溢出 线程死锁 系统错误在除特殊情况下,都不需要关心,基本不会出现。...
  • 1:什么是异常: 异常就是程序在运行期间发生了错误,这个错误阻碍了程序执行,这就是异常; 2:异常如何解决: java提供了异常处理机制,专门应用于解决程序运行...所有的异常类都是从 java.lang.Exception 类继承
  • 聊聊.net中的异常处理

    2017-11-15 13:16:00
    在.net中,异常是跨语言的,意思就是在VB.NET中抛的异常是在C#中...Exception是所有异常类的父类,这个类没有什么特别的,唯一不同的就是在.net中指定了它是所有异常的基类。这个类从object派生,并且继承了ISerial...
  • Java异常

    2018-11-29 16:11:51
    Throwable是所有异常类的父类,只有对象是此类(或其子类)的实例时,才能通过java虚拟机或throw语句抛出。 Throwable有两个子类:Error和Exception,分别表示错误和异常。Exception 又分为运行时异常类和非运行时...
  • JavaDay14:异常

    2020-08-06 16:41:58
    异常概述异常分类语法运行时异常finally什么时候进行异常处理throwsthrow自定义运行时异常自定义编译异常 ...它是所有异常类的父类。它是Throwable的子类。有编译异常和运行时异常两种。 运行时异常:代码在运行期
  • 复习17:异常Exception

    2019-12-01 17:45:25
    具体:Java中所有异常类的父类 Exception与Error的区别 Exception:不正常的事情,但是可以解决 Error:不可以解决,或者解决起来非常麻烦 Exception的分类 未检查异常(又叫运行时异常) 父类:...
  • 异常的捕获和处理

    2019-09-21 12:55:06
    异常的api结构throw有两个子类:error(错误),exception(异常)try catherror是错误的父类,错误可以捕获,但不能处理,一般反生崩溃机的情况excption是所有异常的父类,异常可以捕获也可以处理。 3、异...
  • java 异常分析

    2021-03-08 18:24:35
    异常类的意义 异常类的意义在于通知调用方可能会抛出哪些异常,调用方需要处理...所有异常类的父类,实现了大多数的方法;它的子类大多数都根据名字可以知道是什么异常,没有具体的功能。 Error 继承至Throwable,所
  • 聊聊.net中的异常处理

    2010-08-07 21:31:00
    1、ExceptionException是所有异常类的父类,这个类没有什么特别的,唯一不同的就是在.net中指定了它是所有异常的基类。这个类从object派生,并且继承了ISerializable,_Exception两个接口,ISerializable是实现序列...
  • 文章目录JAVA异常处理机制什么是异常,异常的分类抛出异常,throws和throw捕获异常,try catch finally语句和 JAVA异常处理机制 ...所有异常类的父类都是Throwable类,Throwable有两个子类,既Erro

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 170
精华内容 68
关键字:

什么是所有异常类的父类