예외:
프로그램 개발 중 비정상적인 발생 정상이란 무엇인가요? 비정상입니다. 예를 들어 제수가 0이고, 매개 변수가 null이고, 매개 변수의 멤버 변수나 메서드가 호출되고, 배열 첨자가 범위를 벗어났습니다.
예외는 두 가지 주요 유형으로 나뉩니다.
(1) 예외: 프로그래머가 해결할 수 있는 문제: 널 포인터, 제수는 0, 배열 첨자는 범위를 벗어났습니다.
(2) 오류: 프로그래머가 해결할 수 없는 문제: 메모리 오버플로 등.
Throwable은 이 두 유형의 상위 클래스입니다.
예외 분류:
컴파일러 확인 여부에 따라 분류됨:
非检查性异常:也称之为运行时异常,即编译器在检查语法期间,不做异常检查。
检查性异常:也称之为编译时异常,此时,编译器会强制检查语法中的异常情况。如有异常,在编译期需要做异常处理。
로그인 후 복사
# 🎜🎜#예외 구조:
RuntimeException:
NullPointerException
ArrayIndexOutOfBoundsException
ClassCastException
IllegalArgumentExcetion
NumberFormatException
IOException:
EOFException
FileNotFoundException
로그인 후 복사
예외 처리:
(1) 예외가 발생하면 프로그램을 종료합니다.
(2) 예외가 발생하면 처리 메커니즘을 사용하여 예외를 처리합니다. 프로그램을 종료할 필요가 없습니다.
体验度:尽可能的选择异常处理机制。
로그인 후 복사
예외 처리 메커니즘:
기본 아이디어:
예외가 발생할 수 있는 코드 블록 영역에서 예외 정보가 발생하는지 확인하고, 우리는 이 정보를 특정 예외 유형의 객체로 캡슐화한 다음 이를 캡처하고 처리합니다.
관련 권장사항: 《
FAQ》
try{
可能出现异常的代码块
/*如果有异常,jvm会将异常信息,封装成对象
将地址信息赋值给catch中的形参
*/
}catch(Exception e){
进行处理e
}
로그인 후 복사
다중 catch 문 차단 상황:
시도할 때 When 예외 개체를 캡처하는 경우 여러 개의 서로 다른 예외 개체를 개별적으로 처리하려면 여러 catch 문 블록을 사용해야 합니다.
설명: try에서 예외 메시지가 발생하면 try에 있는 코드 블록의 후속 부분이 실행되지 않습니다. 처리를 수행하려면 해당 캐치 코드 블록을 입력하세요.
catch 문 블록이 여러 개인 경우 catch에서 처리하는 예외 유형을 작성하는 순서:
하위 클래스 예외 유형을 먼저 작성한 다음 상위 클래스 예외를 작성합니다. .
throw: throw 키워드, 이 메서드에서 발생하는 예외는 try-catch로 처리되지 않습니다.
대신 처리를 위해 호출자에게 전달됩니다. throw 키워드를 사용해야 합니다.
throws: 일반적으로 호출자에게 알리는 메서드 정의에 사용되는 예외 키워드를 선언합니다.
(1)当throw的异常对象为检查性异常,方法上必须throws此异常类型。
(2)如果throw的异常对象为非检查性异常,方法上不必throws此异常类型。
로그인 후 복사
방법을 다시 작성할 때 throw 사용
실행 가능:
(1)可以相同。
(2)可以是部分。
(3)异常的子类型可行,也可以是多个子类型。
로그인 후 복사
실행 불가능: #🎜 🎜## 🎜🎜#
(1)不同的异常类型,也不可以多声明不同类型的异常类型。
(2)异常的父类型不行。
로그인 후 복사
finally:
은 try-catch를 위한 통합 콘센트를 제공합니다. try 및 catch 문 블록에서 예외가 발생하는지 여부에 관계없이 finally의 코드 블록은 결국 실행됩니다.
은 일반적으로 일부 리소스 닫기와 같은 작업을 처리하는 데 사용됩니다.
예: 파일을 읽을 때 작업 닫기 또는 임시 파일 삭제
finally 명령문 블록은 선택 사항입니다.
문에 return이 있는 경우 먼저 순차적으로 실행합니다. return이 발생하면 먼저 반환 값을 일시 중지한 다음 마지막으로 코드 블록을 실행한 다음 return을 실행합니다. 최종적으로 반환하면 반환 값에 영향을 미치지 않습니다)
위 내용은 API 인터페이스가 비정상적인 경우 대처 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!