diff --git a/src/main/kotlin/Main.kt b/src/main/kotlin/Main.kt index de75146..5f007f7 100644 --- a/src/main/kotlin/Main.kt +++ b/src/main/kotlin/Main.kt @@ -274,7 +274,11 @@ class USBVirusScanner { currentState = SystemState.IDLE - } catch (e: Exception) { + } catch (e: kotlinx.coroutines.CancellationException) { + currentState = SystemState.IDLE + println(if (isDebug) "Программа получила CancellationException. Возврат к состоянию IDLE." else "") + } + catch (e: Exception) { println(if (isDebug) "❌ Критическая ошибка: ${e.message}" else "") e.printStackTrace() currentState = SystemState.ERROR @@ -513,7 +517,7 @@ class USBVirusScanner { } } - + fun shutdown() { println(if (isDebug) "\nЗавершение работы..." else "") isRunning = false @@ -649,7 +653,8 @@ fun main(args: Array) { } } catch (e: Exception) { println(if (isDebug) "❌ Критическая ошибка: ${e.message}" else "") - e.printStackTrace() + if (isDebug) e.printStackTrace() + if (isDebug) println("Общий Exception") scanner.shutdown() exitProcess(1) }