• Exception


    reference: Java Doc

    What is Exception

    Exception is short for "exceptional event".

    When an error occurs within a method, the method creates an object and hands it off to the runtime system. The object, called an exception object, contains information about the error, including its type and the state of the program when the error occurred. Creating an exception object and handing it to the runtime system is called throwing an exception.

    The runtime system searches the call stack for a method that contains a block of code that can handle the exception. This block of code is called an exception handler.

    Three Kinds of Exceptions

    Checked Exception

    These are exceptional conditions that a well-written application should anticipate and recover from.

    Example, java.io.FileNotFoundException

    Checked exceptions are subject to the Catch or Specify Requirement. All exceptions are checked exceptions, except for those indicated by ErrorRuntimeException, and their subclasses.

    Error

    These are exceptional conditions that are external to the application, and that the application usually cannot anticipate or recover from.

    Example, java.io.IOError

    Runtime Exception

    These are exceptional conditions that are internal to the application, and that the application usually cannot anticipate or recover from.

    These usually indicate programming bugs, such as logic errors or improper use of an API.

    Example, NullPointerException

    Errors and runtime exceptions are collectively known as unchecked exceptions.

    Try-Catch-Finally Block

    Try block:    Identifies a block of code in which an exception can occur.

    Catch block:    Identifies a block of code, known as an exception handler, that can handle a particular type of exception.

    Finally block:   Identifies a block of code that is guaranteed to execute, and is the right place to close files, recover resources, and otherwise clean up after the code enclosed in the try block.

    More about Finally Block

    The finally block always executes when the try block exits. This ensures that the finally block is executed even if an unexpected exception occurs.

    The runtime system always executes the statements within thefinally block regardless of what happens within the try block. So it's the perfect place to perform cleanup.

    For example, the try block of the writeList method that you've been working with here opens a PrintWriter. The program should close that stream before exiting the writeList method. This poses a somewhat complicated problem because writeList's try block can exit in one of three ways.

    1. The new FileWriter statement fails and throws an IOException.
    2. The list.get(i) statement fails and throws an IndexOutOfBoundsException.
    3. Everything succeeds and the try block exits normally.

    Advantages of Exceptions

    1. Separating Error-Handling Code from "Regular" Code

    2. Propagating Errors Up the Call Stack

    3. Grouping and Differentiating Error Types

  • 相关阅读:
    MongoDB集群运维笔记
    第十八节:SSM搭建之分层、聚合、继承、属性、版本管理、资源配置、多环境、跳过测试
    第十六节:SpringMvc拦截器、全局异常处理、RestFul风格编程、文件上传
    Java认证授权框架Spring Security介绍
    干货:RabbitMQ消息队列基本原理介绍
    微服务开发框架 SpringCloud
    Pygame实战项目:用300行代码写出贪吃蛇小游戏
    内外盘
    [转贴]太有用了,留存!Kaggle数据下载
    shell执行报错: bash: ./a.sh: /bin/bash^M: bad interpreter: No such file or directory的解决方法
  • 原文地址:https://www.cnblogs.com/ireneyanglan/p/4952515.html
Copyright © 2020-2023  润新知