Это небольшой пример, который знакомит с базовой обработкой исключений, включая выдачу, перехват, утверждение и журналирование.
Обработка исключений Java управляется с помощью пяти ключевых слов: try, catch, throw, throws и наконец. Основной процесс заключается в заключении отслеживаемого оператора в блок операторов try. Если в блоке операторов try возникает исключение, ваш код может перехватить исключение и обработать его в блоке операторов catch. следующие Некоторые системные исключения автоматически создаются при запуске Java. Вы также можете объявить метод для создания исключения с помощью ключевого слова throws, а затем вызвать объект исключения с помощью throw внутри метода.
Скопируйте код кода следующим образом:
пакет com.hongyuan.test;
импортировать java.io.IOException;
импортировать java.util.logging.Level;
импортировать java.util.logging.Logger;
общественный класс ExceptionHandleTest {
статический {
//Включите утверждения, и для классов, загруженных загрузчиком системных классов, утверждения будут включены.
ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(true);
}
public static void main(String[] args) {
/*
* Бросай, лови
*/
пытаться {
TryCatchTest.run(10, -1);
} catch (IOException e) {
е.printStackTrace();
}
System.out.println("========================================= = =========");
//бревно
ЛогерТест.запуск();
System.out.println("========================================= = =========");
//утверждение
AssertTest.div(3,0);
}
}
/*
* утверждение
*/
класс AssertTest {
public static double div(int b,int a){
Assert a!=0: "Знает ли ваш учитель начальных классов, используете ли вы это?";
возврат (двойной)б/а;
}
}
/*
* бревно
*/
класс LogerTest {
частный статический регистратор logger = null;
статический {
//Получаем объект журнала и определяем уровень журнала
logger=Logger.getLogger(LogerTest.class.getName());
logger.setLevel(Уровень.ВСЕ);
}
общественный статический недействительный запуск () {
//Вводим метод
logger.entering(LogerTest.class.getName(), "запустить");
//Общая информация
logger.info("Еще раз беспокойте меня, я записал этот аккаунт!!!");
//предупреждать
logger.warning("Я слишком устал, я не смогу выполнять эту работу!!!");
//серьезный
logger.log(Level.Severe,"Я ухожу!!!^O^");
//Выход из метода
logger.exiting(LogerTest.class.getName(), "запустить");
}
}
/*
* захватывать, бросать
*/
класс TryCatchTest {
public static void run(int x,int y) выдает IOException {
попробуйте{//обязательно
если(х<0||у<0){
throw new IllegalArgumentException("Я потерял дар речи, что мне делать!!!");
}
}catch(Exception e){//необязательно
IOException e1=new IOException("Вы сами разберетесь!");
e1.initCause(e.getCause());
бросить e1;
}наконец-то{//необязательно
System.out.println("Наконец-то они зажили счастливой жизнью!!! (Конец)");
}
}
}