Бросать исключения за пределы метода - 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();
}