Latest web development tutorials

스칼라 예외 처리

스칼라 예외 처리와 자바와 같은 다른 유사한 언어.

스칼라의 방법은 반환 값을 거치지 않고, 관련 코드를 종료하는 방법의 방법으로 예외를 던질 수있다.


예외를 던져

스칼라와 자바 방법 투사 방법의 사용은, 예를 들어, 새로운 예외 매개 변수를 던져, 예외를 던져 :

throw new IllegalArgumentException

예외를 잡아라

예외가 발생하면 다른 언어와 이상 캡처기구는, 캐치 단어를 순차적으로 캡처됩니다. 따라서, 캐치의 즉,보다 구체적인 예외는 이전과 일반적인 이상 더 안정적 후 더 의존합니다. 예외 단어 캐치하지 않는 경우, 예외 처리되지 않으며 수신자로 업그레이드된다.

캐치 예외 캐치 절, 문법과 다른 언어는 동일하지 않습니다. 스칼라에서 빌린 아이디어 패턴 catch 코드 때문에, 경우 단어의 일련의 예에서와 같이, 인, 예외에 맞게 일치를 수행합니다

import java.io.FileReader
import java.io.FileNotFoundException
import java.io.IOException

object Test {
   def main(args: Array[String]) {
      try {
         val f = new FileReader("input.txt")
      } catch {
         case ex: FileNotFoundException =>{
            println("Missing file exception")
         }
         case ex: IOException => {
            println("IO Exception")
         }
      }
   }
}

위의 코드의 구현, 출력은 :

$ scalac Test.scala 
$ scala Test
Missing file exception

경우 경기와 내용의 캐치 프레이즈는 정확히 동일합니다. 예외 처리 순서에 있기 때문에, 만약 당신이 마지막으로 작성해야하므로, 캐치되지 않는 케이스 뒷면에 전면에 기록 된 가장 일반적인 이상,의 Throwable.


마지막으로 문

마지막 문장은 정상 처리를 실행하는 데 사용되거나 예외가 발생할 때, 단계들은 다음과 같은 예는, 수행 될 필요

import java.io.FileReader
import java.io.FileNotFoundException
import java.io.IOException

object Test {
   def main(args: Array[String]) {
      try {
         val f = new FileReader("input.txt")
      } catch {
         case ex: FileNotFoundException => {
            println("Missing file exception")
         }
         case ex: IOException => {
            println("IO Exception")
         }
      } finally {
         println("Exiting finally...")
      }
   }
}

위의 코드의 구현, 출력은 :

$ scalac Test.scala 
$ scala Test
Missing file exception
Exiting finally...