>Java >Java시작하기 >자바에서 예외를 처리하는 방법

자바에서 예외를 처리하는 방법

王林
王林앞으로
2020-07-31 16:11:442646검색

자바에서 예외를 처리하는 방법

예외 처리는 수동적 처리(스스로 처리할 수 없으면 호출된 곳에 던지면 예외가 해결되지 않고 그냥 발생함)와 능동적 처리(예외 잡기, 예외 잡기)로 구분됩니다. try-catch 문 또는 try-catch-finally 문 구현을 통해).

(권장 튜토리얼: Java 입문 튜토리얼)

부정 처리:

구문:

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

컴파일을 통과하도록 허용합니다.

발생한 예외가 런타임이 아닌(확인된) 예외인 경우 이 메서드를 호출하는 호출자가 이를 처리해야 합니다.

발생한 예외가 런타임(확인되지 ​​않은) 예외인 경우 처리할 수 있거나 처리되지 않을 수 있습니다.

능동적 처리: (예외 잡기)

예외를 직접 잡아서 처리합니다.

구문: ​​

try{
	  //异常代码
	}catch(异常类名 引用名){  

		//当异常产生执行的代码
	}

try 후의 catch 코드 블록은 하나만 성공적으로 일치할 수 있습니다.

catch 이후에 선언된 예외가 상위 클래스인 경우 이를 포착할 수 있는 예외는 자체 + 모든 하위 클래스 예외입니다(다형성의 표현).

참고: catch 코드 블록에서 예외를 잡을 때 하위 클래스 예외는 상위 클래스 예외보다 먼저 정의되어야 합니다. 그렇지 않으면 컴파일 오류가 발생합니다.

(추천 동영상 튜토리얼: java 동영상 튜토리얼)

최종 코드 블록: 이 코드 블록의 코드는 확실히 실행되며 리소스를 닫는 데 자주 사용됩니다.

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

참고: finally 코드 블록에 return 문을 정의하지 마세요.

예:

package work;

import java.io.EOFException;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Scanner;

/**
 * @author 超伟
 * @date 2019年5月13日  
 * @version 1.0.0  
 */
public class t4 {
	public static void main(String[] args) {
		System.out.println("main1");
		int n;
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		ma(n);
		System.out.println("main2");
	}
	public static void ma(int n){
		try {
			System.out.println("m1");
			mb(n);
			System.out.println("m2");
		} catch (EOFException e) {
			//e.printStackTrace();
			System.out.println("EOFException    ");
		} catch (IOException e) {
			System.out.println("IOException e111");
		}catch (SQLException e) {
			System.out.println("SQLException");
		}catch (Exception e) {
			System.out.println("Exception");
		}finally{
			System.out.println("in finally");
		}
	}
	
	public static void mb(int n) throws Exception {
		System.out.println("mb1");
		if (n==1) {
			throw new EOFException();
		}
		if (n==2) {
			throw new FileNotFoundException();
		}
		if (n==3) {
			throw new SQLException();
		}
		if (n==4) {
			throw new NullPointerException();
		}
		System.out.println("mb2");
	}	
}
程序运行结果为:
main1
1
m1
mb1
EOFException    
in finally
main2

위 내용은 자바에서 예외를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제