Бросать исключения за пределы метода - Java

Я новичок в Java.

Я объявил метод как public void method() throws Exception, но всякий раз, когда я пытаюсь вызвать этот метод в другой области того же класса, используя method();Я получаю ошибку:

Error: unreported exception java.lang.Exception; must be caught or declared to be thrown

Как я могу использовать этот метод, не получая эту ошибку?

3 ответа

Решение

В другом методе, который вызывает method(), вам придется как-то обрабатывать исключение, которое method() бросает. В какой-то момент его либо нужно поймать, либо объявить до самого main() метод, который запустил всю программу. Итак, либо поймайте исключение:

try {
    method();
} catch (Exception e) {
    // Do what you want to do whenever method() fails
}

или объявите это другим способом:

public void otherMethod() throws Exception {
    method();
}

Ключевое слово throws используется для объявления исключения. Ключевое слово throw используется для явного исключения. если вы хотите определить пользовательское исключение, тогда....

class exps extends Exception{
exps(String s){
    super(s);
 }
}

class input{
 input(String s) throws exps {
     throw new exps(s);
 }

}

public class exp{
 public static void main(String[] args){
     try{
         new input("Wrong input");
     }catch(exps e){
        System.out.println(e.getMessage());
     }
  }
}

Блок try Java используется для включения кода, который может вызвать исключение. Он должен быть использован в методе.

Вы должны окружить method() вызов с блоком try-catch примерно так:

try {
    method();
} catch (Exception e) {
    //do whatever
}

Или вы можете добавить throws к методу, в котором method() называется.
пример:

public void callingMethod() throws Exception {
    method();
}
Другие вопросы по тегам