Java言語に最初に精通した-例外とカスタム例外
1.例外-例外クラス(すべてのエラーと例外のうち8つまたは8つ)
コンパイル時の例外:つまり、コンパイル中に例外が検出されました。
動作中の異常:つまり、プログラムの実行中にのみ異常を検出できます。
例外が処理されない場合、処理のために自動的にJVMに渡されるため、例外が発生すると、プログラムは直接クラッシュします。
次に、プログラムの実行後に、プログラム、特に一般的に使用されるソフトウェアに問題がある場合、異常が発生すると、ソフトウェアがクラッシュしていないことがわかる必要があります。なぜですか。
これが3つのキーワードtry、catch、finallyです:
try{
//可能出现异常的代码
}catch(/*异常类型 引用*/){
//措施
}finally{
//主要用于关闭文件;释放资源;不管出不出现异常都会被执行;
}
例外が発生した場合、tryのコードは実行されません。!!!!
中括弧内のコードは、括弧で宣言された例外がキャッチでキャッチされた後にのみ実行されます。!!!!!
最終的には何があっても実行されるので、通常は最終的にreturnを書き込まないでください!!!!!!
次に、カスタム例外
コードを作成するとき、必然的に奇妙な例外が発生します。これらの例外を定義してから処理する必要があります。
基本的なプロセス:
継承例外-"throw in try throws a exception-" catch to resolve theexception "
例としてログイン例外を取り上げましょう。
//MyException
public class MyException extends RuntimeException{
public MyException (String str){
super(str);
}
}
//Main
import java.util.Scanner;
public class Main {
public static void sign(){
Scanner input=new Scanner(System.in);
System.out.print("用户名:");
String str=input.nextLine();
System.out.print("密码:");
String password=input.nextLine();
try{
if(!("飞哥好帅呀".equals(str))){
throw new MyException("用户名不存在");
}else{
if(!("666666".equals(password))){
throw new MyException("密码错误");
}
System.out.println("登陆成功");
}
}catch(MyException e){
e.printStackTrace();
System.out.println("登陆失败");
}
}
public static void main(String[] args) {
sign();
}
}
運用結果:
Java学習、一緒に来てください!!!!!!!!!!!