자바 의 이상 한 두 가지 처리 방식
5130 단어 throws
성명 던 지기 throws 성명 이 던 진 위치: 방법 성명 의 위치 에서 throws 키 워드 를 사용 하여 이상 을 던 지 는 것 입 니 다
...................................................................
public class ExceptionTest03{
public static void main(String[] args){
//
// :java ,
//java ?
//java , FileInputStream throws FileNotFoundException;
FileInputStream fis=new FileInputStream("c:/ab.txt");
}
}
//
/*
ExceptionTest03.java:16: java.io.FileNotFoundException; FileInputStream fis = new FileInputStream("c:/ab.txt");
*/
throws 키 워드 를 깊이 이해 하 다.
public class ExceptionTest04{
public static void main(String[] args) throws FileNotFoundException{
//m1();
// throws 。
// 。
// m1 , , JVM,JVM JVM, .
//System.out.println("Hello World");
//
try{
m1();
}catch(FileNotFoundException e){}
System.out.println("Hello World");
}
public static void m1() throws FileNotFoundException{
m2();
}
public static void m2() throws FileNotFoundException{
m3();
}
public static void m3() throws FileNotFoundException{
new FileInputStream("c:/ab.txt"); //FileInputStream throws( )
}
}
/*
// FileNotFoundException .
//JVM FileNotFoundException 。
// 。
//JVM 。
// JVM 。
Exception in thread "main" java.io.FileNotFoundException: c:\ab.txt ( 。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at ExceptionTest04.m3(ExceptionTest04.java:31)
at ExceptionTest04.m2(ExceptionTest04.java:26)
at ExceptionTest04.m1(ExceptionTest04.java:21)
at ExceptionTest04.main(ExceptionTest04.java:11)
*/
try...catch..
문법:
try{
이상 코드 가 나타 날 수 있 습 니 다.
}catch (이상 유형 1 변수) {
이상 코드 처리 하기;
}catch (이상 유형 2 변수) {
이상 코드 처리 하기;
}....
1. catch 구문 블록 은 여러 개 를 쓸 수 있 습 니 다.
2. 그러나 위 에서 아래로 catch 는 작은 유형 이상 부터 큰 유형 이상 까지 포착 해 야 한다.
3. try.. catch.. 에서 최대 1 개의 catch 문장 블록 을 실행 합 니 다. 실행 이 끝 난 후에 try.. catch.. 가 끝 납 니 다.
public class ExceptionTest05{
public static void main(String[] args){
// , FileNotFoundException .
/*
try{
//FileNotFoundException
FileInputStream fis = new FileInputStream("c:/ab.txt");
}catch(ArithmeticException e){ //
}
*/
//
/*
try{
//FileNotFoundException
FileInputStream fis = new FileInputStream("c:/ab.txt");
}catch(FileNotFoundException e){
}
*/
//
// IOException .
/*
try{
//FileNotFoundException
FileInputStream fis = new FileInputStream("c:/ab.txt");
fis.read();
}catch(FileNotFoundException e){
}
*/
//
/*
try{
//FileNotFoundException
FileInputStream fis = new FileInputStream("c:/ab.txt");
fis.read();
}catch(FileNotFoundException e){
}catch(IOException e){
}
*/
// .
/*
try{
FileInputStream fis = new FileInputStream("c:/ab.txt");
fis.read();
}catch(IOException e){
}
*/
//
//catch , , 。
/*
try{
FileInputStream fis = new FileInputStream("c:/ab.txt");
fis.read();
}catch(IOException e){
}catch(FileNotFoundException e){
}
*/
}
public class ExceptionTest06{
// .
//IOException
/*
public static void main(String[] args) throws FileNotFoundException{
FileInputStream fis = new FileInputStream("abc");
fis.read();
}
*/
//
/*
public static void main(String[] args) throws FileNotFoundException,IOException{
FileInputStream fis = new FileInputStream("abc");
fis.read();
}
*/
//
/*
public static void main(String[] args) throws IOException{
FileInputStream fis = new FileInputStream("abc");
fis.read();
}
*/
public static void main(String[] args){
try{
// FileNotFoundException .
//JVM FileNotFoundException , catch e .
FileInputStream fis = new FileInputStream("abc");
// ,try , catch 。
System.out.println("TTTTTTT");
fis.read();
}catch(FileNotFoundException e){ //e “FileNotFoundException ” 。
System.out.println(" !");
//FileNotFoundException Object toString 。
System.out.println(e); //java.io.FileNotFoundException: abc ( 。)
}catch(IOException e){
System.out.println(" IO !");
}
System.out.println("ABC");
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java oop 23 오버라이딩오버라이딩 - 상속받은 조상의 메서드를 자신에 맞게 변경하는 것 - 선언부 변경불가, 구현부(내용)만 변경하는 것 오버라이딩의 조건 1.선언부가 조상 클래스의 메서드와 일치해야한다. (반환타입,메서드이름,매개변수목록...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.