Home  >  Article  >  Java  >  what is java exception handling

what is java exception handling

angryTom
angryTomOriginal
2019-11-12 09:19:583671browse

what is java exception handling

What is java exception handling

1.Exception

An unexpected event occurs when the program is running, which prevents the program from executing normally as expected by the programmer. This is Exception. When an exception occurs, should the program be left to fend for itself, exit and terminate immediately, or should an error be output to the user? Or in C style: use function return value as execution status? . (Recommended tutorial: java tutorial)

2. Exception handling mechanism

Java provides a better solution: Exception handling mechanism.

The exception handling mechanism allows the program to handle exceptions in a targeted manner according to the preset exception handling logic of the code when an exception occurs, so that the program can return to normal and continue execution as much as possible, while maintaining Code clarity.

Exceptions in Java can be caused when statements in a function are executed, or they can be thrown manually by programmers through the throw statement. As long as an exception occurs in a Java program, a The exception object of the corresponding type is used to encapsulate the exception, and the JRE will try to find an exception handler to handle the exception.

The Throwable class is the top-level parent class of Java exception types. Only if an object is a (direct or indirect) instance of the Throwable class, it is an exception object and can be recognized by the exception handling mechanism. There are some commonly used exception classes built into the JDK, and we can also customize exceptions.

3. Exception handling:

Exception handling is divided into passive handling (if you can’t handle it yourself, throw throws at the place where it is called, and the exception is not resolved. , just throwing) and active handling (exception catching, exception catching is achieved through try-catch statement or try-catch-finally statement)

a) Passive processing:

Syntax:

public void m1() throws 异常类名1,异常类名2{}

Characteristics: It is equivalent to shirking responsibility, and the problem still cannot be solved in the end.

Allow compilation to pass.

When the exception thrown is a non-runtime (checked) exception, the caller who calls this method must handle it.

When the exception thrown is a runtime (unchecked) exception, it can be handled or not.

b) Active processing: (Exception catching)

Catch the exception directly and handle it

Syntax:

try{
  //异常代码
}catch(异常类名 引用名){  
//当异常产生执行的代码
}

try after the catch The code block can only successfully match one

When the exception declared after catch is the parent class, the exceptions it can catch are all subclass exceptions of itself (a manifestation of polymorphism)

Note: catch When a code block catches an exception, the subclass exception must be defined before the parent class exception, otherwise a compilation error will occur

finally code block: the code in this code block will definitely be executed, often used to close resources,

try{
}catch(){
}finally{
//无论是否产生异常,一定会去执行的代码
}

Note: Do not define return statements in the finally code block

4. Keywords: throws, throw, try, catch, finally, what do they mean?

throws is to get the exception

throw is to throw the exception

try is to enclose the statement where the exception occurs, so as to handle the exception, you can also A new exception is thrown in the try block

catch is a statement that will be executed if there is an exception

finally will be executed regardless of whether there is an exception

The above is the detailed content of what is java exception handling. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn