You are on page 1of 15

y 143 y

Java

Java
Java

9.1

9.1.1

Java

public class ExceptionDemo{


public static void main(String args[ ]){
String str=null;
// null
int strLength=str.length();
//
System.out.println("strLength "+strLength);
}
}

null

Exception in thread "main" java.lang.NullPointerException


at ExceptionDemo.main(ExceptionDemo.java:4)

str String
NullPointerException main
ExceptionDemo.java 4
public class ExceptionDemo1{
public static void printLength(){
String str=null;
// null
int strLength=str.length();
//
System.out.println("strLength "+strLength);
}
public static void main(String args[ ]){
y 144 y

9
printLength();
}
}

Exception in thread "main" java.lang.NullPointerException


at ExceptionDemo1.printLength(ExceptionDemo1.java:4)
at ExceptionDemo1.main(ExceptionDemo1.java:8)

4 8

9.1.2

Java Throwable Throwable


Throwable
Exception Error 9-1
Throwable

Error

Exception

IOException

9-1

RuntimeException

Error Java Error

ExceptionException
RuntimeException IOException
RuntimeException
NullPointerException API RuntimeException
null RuntimeException

1IndexOutOfBoundsException

int array1={1,2,3};
array1[3]=9;

3 012 array1[3]
2ArithmeticException
y 145 y

Java

Exception
RuntimeException RuntimeException

RuntimeException
Error

9.2
Java
finally printStatckTrace()

9.2.1

Java try-catch Java

try{
//
}
catch( 1 )
{
// 1
}
catch( 2 )
{
// 2
}

catch( n )
{
// n
}

try-catch try
try
try catch catch try

public class UseTryCatchDemo{


public static void main(String args[ ]){
String str=null;
y 146 y

9
int strLength=0;
try
{
strLength=str.length();
}
catch(NullPointerException e)
{
System.out.println("");
}
System.out.println("strLength "+strLength);
}
}

strLength 0

try catch NullPointerException

catch

public class UseTryCatchDemo2{


public static void main(String args[ ]){
int[ ]array1={1,2,3};
try
{
array1[3]=5;
}
catch(NullPointerException e)
{
System.out.println("");
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println("");
}
System.out.println("");
}
}

try catch
ArrayIndexOutOfBoundsException ArrayIndexOutOfBoundsException try

catch
catch catch
catch Java
y 147 y

Java

public class CatchDemo{


public static void main(String args[ ]){
try
{
int a=15/0;
}
catch(Exception e)
{
System.out.println(" Exception ");
}
catch(ArithmeticException e)
{
System.out.println(" ArithmeticException ");
}
}
}

CatchDemo.java:11: java.lang.ArithmeticException
catch(ArithmeticException e)

Exception ArithmeticException catch

public class CatchDemo{


public static void main(String args[ ]){
try
{
int a=15/0;
}
catch(ArithmeticException e)
{
System.out.println(" ArithmeticException ");
}
catch(Exception e)
{
System.out.println(" Exception ");
}
}
}

ArithmeticException

9.2.2

printStackTrace()

printStackTrace() Throwable Throwable

public class TestprintStackTraceDemo{


public static void main(String args[ ]){
y 148 y

9
method1();
}
static void method1()
{
method2();
}
static void method2()
{
method3();
}
static void method3()
{
String str=null;
int n=str.length();
}

// method1

// method2

// method3

// null
//

Exception in thread "main" java.lang.NullPointerException


at TestprintStackTraceDemo.method3(TestprintStackTraceDemo.java:16)
at TestprintStackTraceDemo.method2(TestprintStackTraceDemo.java:11)
at TestprintStackTraceDemo.method1(TestprintStackTraceDemo.java:7)
at TestprintStackTraceDemo.main(TestprintStackTraceDemo.java:3)

public class TestprintStackTraceDemo{


public static void main(String args[ ]){
try
// method1
{
method1();
// method1
}
catch(NullPointerException e)
{
e.printStackTrace();
//
}
}
static void method1()
{
method2();
// method2
}
static void method2()
{
method3();
// method3
}
static void method3()
{
String str=null;
// null
int n=str.length();
//
}
}

java.lang.NullPointerException
at TestprintStackTraceDemo.method3(TestprintStackTraceDemo.java:23)
at TestprintStackTraceDemo.method2(TestprintStackTraceDemo.java:18)
at TestprintStackTraceDemo.method1(TestprintStackTraceDemo.java:14)
y 149 y

Java
at TestprintStackTraceDemo.main(TestprintStackTraceDemo.java:5)

try catch
e.printStackTrace();

NullPointerException Java
public class DBDemo {
public static void main(String[ ] args) {
Class.forName("");
}
}

DBDemo.java:4: java.lang.ClassNotFoundException

Class.forName("");
^
1

ClassNotFoundException
public class DBDemo {
public static void main(String[ ] args) {
try
{
Class.forName("");
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}

java.lang.ClassNotFoundException:
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at DBDemo.main(DBDemo.java:5)

catch

9.2.3 finally

public class SimpleDemo {


public static void main(String[ ] args) {
String str=null;
int strLength=0;
try{
strLength=str.length();
System.out.println("");
}
y 150 y

9
catch(NullPointerException e){
e.printStackTrace();
}
System.out.println("");
}
}

java.lang.NullPointerException
at SimpleDemo.main(SimpleDemo.java:6)

try Java
catch

Java finally

finally
try-catch finally
public class SimpleDemo {
public static void main(String[ ] args) {
String str=null;
int strLength=0;
try{
strLength=str.length();
System.out.println("");
}
catch(NullPointerException e){
e.printStackTrace();
}
finally
{
System.out.println(" finally ");
}
System.out.println("");
}
}

java.lang.NullPointerException
at SimpleDemo.main(SimpleDemo.java:6)
finally

finally catch

public class SimpleDemo {


public static void main(String[ ] args) {
String str=null;
int strLength=0;
try{
//strLength=str.length();
y 151 y

Java
//System.out.println("");
}
catch(NullPointerException e){
e.printStackTrace();
}
finally
{
System.out.println(" finally ");
}
System.out.println("");
}
}

finally

finally

9.2.4

1 throws
Java throws
public class ThrowsDemo {
static void method()throws NullPointerException,
IndexOutOfBoundsException,ClassNotFoundException{
String str=null;
int strLength=0;
strLength=str.length();
System.out.println(strLength);
}
public static void main(String[ ] args) {
try {
method();
} catch (NullPointerException e) {
System.out.println("NullPointerException ");
e.printStackTrace();
} catch (IndexOutOfBoundsException e) {
System.out.println("IndexOutOfBoundsException ");
e.printStackTrace();
} catch (ClassNotFoundException e) {
System.out.println("ClassNotFoundException ");
e.printStackTrace();
}
}
}
y 152 y

NullPointerException
java.lang.NullPointerException
at ThrowsDemo.method(ThrowsDemo.java:5)
at ThrowsDemo.main(ThrowsDemo.java:10)

() throws 1, 2{
//
}

throw
2 throw
throw

public class ThrowDemo {


static void connect() throws ClassNotFoundException {
try{
Class.forName("");
}catch(ClassNotFoundException e){
System.out.println("");
throw e;
}
}
public static void main(String[ ] args) {
try {
connect();
} catch (ClassNotFoundException e) {
System.out.println("");
}
}
}

try-catch
ThrowsDemo 3
try-catch catch
try-catch
try-catch
3 throwsthrow
throws throws
throw
public class ThrowsDemo1{
y 153 y

Java
static int amethod(int a,int b) //throws ArithmeticException
{
if(b==0)
throw new ArithmeticException();
else
return a/b;
}
public static void main(String args[ ]){
System.out.println(amethod(15,5));
System.out.println(amethod(15,0));
}
}

amethod ArithmeticException

3
Exception in thread "main" java.lang.ArithmeticException
at ThrowsDemo1.amethod(ThrowsDemo1.java:5)
at ThrowsDemo1.main(ThrowsDemo1.java:11)

public class ThrowsDemo2{


static void amethod()
{
System.out.println("");
throw new IllegalAccessException();
}
public static void main(String args[ ]){
amethod();
}
}

ThrowsDemo2.java:6: java.lang.IllegalAccessException

throw new IllegalAccessException();


^
1

IllegalAccessException
try-catch

public class ThrowsDemo2{


static void amethod() throws IllegalAccessException
{
System.out.println("");
throw new IllegalAccessException();
}
public static void main(String args[ ]){
try
{
amethod();
}
catch(IllegalAccessException e)
{
y 154 y

9
System.out.println("");
}
}
}

9.3
Java

9.3.1

Exception

class extends Exception


{
//
}

Java API Exception Throwable


Throwable Throwable

public Throwable fillInStackTrace() Throwable

public Throwable getCause() throwable cause cause


null
public String getMessage() throwable
public StackTraceElement[]getStackTrace()

throwable

public void printStackTrace()


public void printStackTrace(PrintStream s) throwable

public void printStackTrace(PrintWriter s) throwable


PrintWriter
y 155 y

Java

public String toString() String

public class MyException extends Exception{


MyException()
{
}
MyException(String msg)
{
//
super(msg);
}
}

public class TestMyException{


public static void main(String args[ ]){
//
MyException mec=new MyException("");
System.out.println(mec.getMessage());
System.out.println(mec.toString());
}
}

MyException:

9.3.2

class IllegalScoreException extends Exception{


IllegalScoreException()
{
}
IllegalScoreException(String msg)
{
//
super(msg);
}
}
public class Score{
public static void main(String args[ ])
{
try
{
String level=null;
level=scoreLevel(90);
System.out.println("90 "+level);
level=scoreLevel(120);
y 156 y

9
System.out.println("120 "+level);
}
catch(IllegalScoreException e)
{
e.printStackTrace();
}
}
static String scoreLevel(int score) throws IllegalScoreException
{
if(score>=85&&score<=100)
return "A";
else if(score>=75&&score<85)
return "B";
else if(score>=60&&score<75)
return "C";
else if(score<60&&score>=0)
return "D";
else
throw new IllegalScoreException("");
}
}

IllegalScoreExceptionScore


try-catch
catch IllegalScoreException

90 A
IllegalScoreException:
at Score.scoreLevel(Score.java:38)
at Score.main(Score.java:19)

9.4

Java

Java Java

Java Java

y 157 y

You might also like