关于异常的一点认识

在异常中最大的类是Throwable,分为二个子类:Exception,Error

  Exception:是程序可以处理的异常

  Error:表示JVM错误,一般程序无法处理

Exception与RuntimeException的区别:

  1.如果抛出的是Exception的类型,则必须使用try...catch进行处理.

  2.如果抛出的是RuntimeException的类型,则不是必须使用try...catch进行处理,一旦发生异常将由JVM进行处理,但是为了保证程序的健康性,建议在有可能出现异常的地方还是使用try...catch进行处理.

throws关键字与throw关键字的区别:

  1.在定义一个方法时可以使用throws关键字声明,使用throws声明的方法表示此方法不处理异常,而交给方法的调用处进行处理.

  2.可以使用throw关键字人为地抛出一个异常,抛出时直接抛出异常类的实例化对象

自定义异常类

  只需要继承Exception就可以完成自定义异常类,需要定义自己想要的异常信息的时候就可以自定义异常类

例子:    

    class MyException extends Exception{   //自定义异常类,继承Exception类
      public MyException(String message) {   //构造方法接收异常信息
        super(message);    //调用父类中的构造方法
      }
    }
    public class DefaultException {
      public static void main(String[] args) {
        try {
          throw new MyException("自定义异常");
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }

时间: 2024-11-03 21:04:36

关于异常的一点认识的相关文章

关于异常的一点思考

一.异常的(检测)触发:编译器插入检查指令(对语言规定的检查项): 二.异常的基本处理机制:类似中断,生成异常场景信息,然后执行转发操作. 三.异常处理的上下文:由线程货其他结构保存的类似函数调用栈的上下文结构体. 异常事件的触发.派发.处理及上下文机制. 由语言的异常规范规定,由编译器和运行时提供支持的特殊事件处理机制. 原文地址:https://www.cnblogs.com/feng9exe/p/12559296.html

异常机制

1. 异常机制       异常机制是指当程序出现错误后,程序如何处理.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器. 传统的处理异常的办法是,函数返回一个特殊的结果来表示出现异常(通常这个特殊结果是大家约定俗称的),调用该函数的程序负责检查并分析函数返回的结果.这样做有如下的弊端:例如函数返回-1代表出现异常,但是如果函数确实要返回-1这个正确的值时就会出现混淆:可读性降低,将程序代码与处理异常的代码混爹在一起:由调用函数的程序

C#异常性能影响

何谓异常 很多人在讨论异常的时候很模糊,仿佛所谓异常就是try{}catch{},异常就是Exception,非常的片面,所以导致异常影响性能,XXXX……等很多奇怪的言论,所以在此我意在对异常正名.以下,我将异常这个很宽泛,容易被曲解的词进行严格的划分. 异常机制 所谓异常机制也就是指的语言平台支持异常这种错误处理模式的机制,比如c#里的Exception对象,try{}catch{}finally{}结构,throw抛出异常的语句,等等,均为c#语言里对异常机制的实现. 异常机制是随着语言而

浅谈java异常[Exception]

本文转自:focusJ 一. 异常的定义 在<java编程思想>中这样定义 异常:阻止当前方法或作用域继续执行的问题.虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常.绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败.之所以java要提出异常处理机制,就是要告诉开发人员,你的程序出现了不正常的情况,请注意. 记得当初学习java的时候,异常总是搞不太清楚,不知道这个异常是什么意思,为什么会有这个机制?但是随着知识的积累逐渐也

【C++】异常简述(三):补充之如何看待C++异常

C++异常的使用,我相信在上文总结的已经比较完整了,本文主要对C++异常这块进行额外的补充. 即使C++将异常纳入标准已经很多年了,但是直到现在都能看到很多坚持不显式使用异常.(包括本人在内,在写的代码中很少使用异常). 在评论异常之前,首先引入google C++ 编码规范,我们先来看看谷歌怎么看待C++异常. 6. 异常(Exceptions) 不要使用C++异常. 优点: 1)异常允许上层应用决定如何处理在底层嵌套函数中发生的"不可能发生"的失败,不像出错代码的记录那么模糊费解:

简单的业务更考验技术--化腐朽为神奇

金庸经典<射雕英雄传>里,黄蓉为了让洪七公交自己和靖哥哥武功,天天对师傅美食相待,在做了“玉笛谁家听落梅”这样一些世间珍品之后,告诉师傅说今天要做的是"炒白菜".洪七公露出非常欣赏的眼光,说:“好,我倒要看看你怎样化腐朽为神奇.”上周五听了一个我们内部的深度学习讲座,基本这方面处于初始探索阶段.上周六去3w咖啡听了百度的人工智能讲座,他们的深度学习也只限于对代码的训练.想一想代码这个东西分支相对来说还是有限的,所以现在的各种集成开发软件已经很简化程序员的工作了,所以看百度做

Google C++ 风格指南内容整理

之前一直没有全面的看过Google C++风格指南,现在很多公司进行C++开发都要求按照Google C++风格.在这个网站 http://zh-google-styleguide.readthedocs.org/en/latest/contents/  有人已经把其翻译成中文.为了便于以后查看,下面的内容完全是来自于这个网站,只是把多个网页的内容整理放在了一起. 1.      头文件: 通常每一个.cc文件都有一个对应的.h文件.也有一些常见例外,如单元测试代码和只包含main()函数的.c

c#异常处理之性能

何谓异常 很多人在讨论异常的时候很模糊,仿佛所谓异常就是try{}catch{},异常就是Exception,非常的片面,所以导致异常影响性能,XXXX……等很多奇怪的言论,所以在此我意在对异常正名.以下,我将异常这个很宽泛,容易被曲解的词进行严格的划分. 异常机制 所谓异常机制也就是指的语言平台支持异常这种错误处理模式的机制,比如c#里的Exception对象,try{}catch{}finally{}结构,throw抛出异常的语句,等等,均为c#语言里对异常机制的实现. 异常机制是随着语言而

Python 可迭代的对象、迭代器和生成器

迭代是数据处理的基石.扫描内存中放不下的数据集时,我们要找到一种惰性获取数据项的方式,即按需一次获取一个数据项.这就是迭代器模式(Iterator pattern). p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 25.0px Helvetica } Sentence类第1版:单词序列 我们要实现一个 Sentence 类,以此打开探索可迭代对象的旅程.我们向这个类的构造方法传入包含一些文本的字符串,然后可以逐个单词迭代.第 1 版要实现序列协议,这