IDEA-112398 (Yellow code is green: Inspection "Overly broad 'catch' clause" and Runti...
[idea/community.git] / plugins / InspectionGadgets / test / com / siyeh / igtest / errorhandling / toobroadcatch / TooBroadCatchBlock.java
1 package com.siyeh.igtest.errorhandling.toobroadcatch;
2
3 import java.io.FileNotFoundException;
4 import java.io.EOFException;
5 import java.io.IOException;
6 import java.net.URL;
7
8 public class TooBroadCatchBlock{
9     public void foo(){
10         try{
11             if(bar()){
12                 throw new FileNotFoundException();
13             } else{
14                 throw new EOFException();
15             }
16         } catch(FileNotFoundException e){
17             e.printStackTrace();
18         } catch(IOException e){
19             e.printStackTrace();
20         }
21     }
22
23     private boolean bar(){
24         return false;
25     }
26
27     void foos() {
28         try {
29             new URL(null);
30             throw new NullPointerException();
31         } catch (IOException e) {
32
33         } catch (RuntimeException e) {
34
35         }
36     }
37
38   void bars(boolean a, boolean b, boolean c) {
39     try {
40       if (!a) {
41         throw new NotActiveException(); // extends ObjectStreamException
42       }
43       if (b) {
44         throw new StreamCorruptedException(); // extends ObjectStreamException
45       }
46       if (c) {
47         throw new IOException();
48       }
49     } catch (ObjectStreamException e) {
50       // Deal with ObjectStreamException (a subclass of IOException)...
51     } catch (IOException e) {
52       // Deal with IOException...
53     }
54   }
55
56   class ObjectStreamException extends IOException {}
57   class StreamCorruptedException extends ObjectStreamException {}
58   class NotActiveException extends ObjectStreamException {}
59
60   void test() {
61     try {
62       try (java.io.FileInputStream in = new java.io.FileInputStream("asdf")) {}
63     } catch (IOException e) {}
64   }
65
66   boolean m() {
67     try {
68       new java.io.FileInputStream("");
69       return new java.io.File("can_reset").isFile();
70     } catch (FileNotFoundException e) {
71       return false;
72     } catch (Exception e ) {
73       return false;
74     }
75   }
76
77   boolean m2() {
78     try {
79       new java.io.FileInputStream("");
80       return new java.io.File("can_reset").isFile();
81     } catch (Exception e ) {
82       return false;
83     }
84   }
85 }