Всем привет.
Предположим есть такой код:
package sampleexception;
import java.io.*;
import java.util.Scanner;
/**
*
* @author den
*/
public class MainClass
{
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
char[] cbuf = new char[500];
try
{
FileReader reader = new FileReader("/etc/shadow");
try
{
reader.read(cbuf, 0, 50);
} catch (IOException ex)
{
System.out.println(ex.getMessage());
}
} catch (FileNotFoundException ex)
{
System.out.println(ex.getMessage());
}
try
{
Scanner sc = new Scanner(new File("/etc/shadow4"));
String read = sc.nextLine();
} catch (FileNotFoundException ex)
{
System.out.println(ex.getMessage());
}
}
}
При запуске выводится следующее:
/etc/shadow (Отказано в доступе)
/etc/shadow4 (Нет такого файла или каталога)
Как JVM различает разные варианты одного и того же исключения FileNotFoundException?
Всем спасибо.