Java에서 오류와 예외의 차이점: 오류 오류는 프로그램에서 처리할 수 없는 오류입니다. 이러한 오류는 가상 머신 자체에서 또는 가상 머신이 애플리케이션을 실행하려고 할 때 오류가 발생했음을 나타내며 일반적으로 발생하지 않습니다. 프로그램 처리가 필요합니다. 예외는 프로그램 자체에서 처리할 수 있는 예외입니다.
code>
Error
:错误是程序无法处理的错误,这些错误标识故障发生于虚拟机自身或者发生在虚拟机试图执行应用时,一般不需要程序处理。
Error(错误)和exception(异常)都是java.lang.Throwable
类的子类。Error错误是任何处理技术都无法恢复的情况。这肯定会导致程序非正常终止。Error错误属于未检查类型,大多数发生在运行时。Error错误的一些例子是内存不足错误或系统崩溃错误。
// 通过无限递归演示堆栈溢出错误 class StackOverflow { public static void test(int i) { if (i == 0) return; else { test(i++); } } } public class ErrorEg { public static void main(String[] args) { StackOverflow.test(5); } }
输出:
Exception in thread "main" java.lang.StackOverflowError at StackOverflow.test(ErrorEg.java:7) at StackOverflow.test(ErrorEg.java:7) at StackOverflow.test(ErrorEg.java:7) at StackOverflow.test(ErrorEg.java:7) at StackOverflow.test(ErrorEg.java:7) ...
exception
:是程序本身可以处理的异常。
异常是在运行时发生并可能导致程序终止的条件。但是,使用try
、catch
和throw
关键字可以恢复它们。
异常分为两类:已检查异常和未检查异常。编译器在编译时知道已检查的异常(如IOException
),而编译器在运行时知道未检查的异常(如ArrayIndexOutOfBoundException
오류
: 오류는 프로그램이 처리할 수 없는 오류입니다. 이러한 오류는 실패가 발생했음을 나타냅니다. 가상 머신 자체에서 또는 가상 머신이 애플리케이션 실행을 시도할 때 발생하며 일반적으로 프로그램 처리가 필요하지 않습니다.
Error와 예외는 모두java.lang.Throwable
클래스의 하위 클래스입니다. 오류는 어떤 처리 기술로도 복구할 수 없는 상황입니다. 이로 인해 프로그램이 비정상적으로 종료될 수 있습니다. 오류 오류는 확인되지 않은 유형이며 대부분 런타임에 발생합니다. 오류 오류의 몇 가지 예로는 메모리 부족 오류 또는 시스템 충돌 오류가 있습니다.
public class ExceptionEg { public static void main(String[] args) { int a = 5, b = 0; try { int c = a / b; } catch (ArithmeticException e) { e.printStackTrace(); } } }
java.lang.ArithmeticException: / by zero at ExceptionEg.main(ExceptionEg.java:8)
예외
: 프로그램 자체에서 처리할 수 있는 예외입니다.
예외는 런타임 시 발생하는 조건으로, 프로그램이 종료될 수 있습니다. 그러나
try
,
catch
및
throw
키워드를 사용하여 복구할 수 있습니다.
예외는 확인된 예외와 확인되지 않은 예외의 두 가지 범주로 나뉩니다. 컴파일러는 컴파일 타임에 확인된 예외(예:IOException
)에 대해 알고 있으며 런타임에는 확인되지 않은 예외(예:ArrayIndexOutOfBoundException
)에 대해 알고 있습니다. 주로 프로그래머가 작성한 프로그램으로 인해 발생합니다.
위 내용은 Java에서 오류와 예외의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!