ディレクトリ
異常な
try-catch-最後に
- e.getMessage();エラー出力特性
- ()e.toString、出力タイプおよび性質
- e.printStackTrack()は、異常の種類を示し、自然、スタック・レベル及び位置は、プログラムに表示され
- キャッチ例外キャプチャシーケンス
package ex12_Exception;
public class Take {
public static void main(String[] args) {
try { //try语句中包含可能出现异常的代码
String str = "hi";
System.out.println("str: " + str);
int age = Integer.parseInt("20L");
System.out.println("age: " + age);
} catch (Exception e) { //获取异常信息
e.printStackTrace(); //输出异常性质
}
System.out.println("program over");
}
}
一般的な例外のJava
カスタム例外
package ex12_Exception;
class MyException extends Exception { //创建自定义异常,继承Exception
public MyException(String ErrorMessage) { //构造方法
super(ErrorMessage); //父类构造方法
}
}
public class Tran {
static int avg(int number1, int number2) throws MyException {
if (number1 < 0 || number2 < 0) { //判断是否满足条件
throw new MyException("不可使用负数"); //抛出异常信息
}
if (number1 > 100 || number2 > 100) {
throw new MyException("数值太大了");
}
return (number1 + number2) / 2;
}
public static void main(String[] args) {
try { //处理可能出现异常的代码
int result = avg(102, 150); //调用avg()方法
System.out.println(result);
} catch (MyException e) {
System.out.println(e); //输出异常信息
}
}
}
ランタイム例外
各パッケージのJavaクラスライブラリは、これらのクラスのすべてのThrowableのサブクラスです、例外が定義されたThrowableには2つのサブクラス、Exceptionクラスとクラスのエラーを導出しました