2012-09-03 29 views
6

Tôi có thể bắt ngoại lệ từ các quy trình bên ngoài được kết hợp với # & & vv ..?thành phần quá trình và ngoại lệ

scala> import scala.sys.process._  
scala> try{ "throw " ! }catch{ case e: Exception => } 
res1: AnyVal =() 
scala> try{ "throw " #&& "ls" ! }catch{ case e: Exception => } 
Exception in thread "Thread-10" java.io.IOException: Cannot run program "throw": error=2, No such file or directory 

Trả lời

3

Bạn đã làm. Hãy thử

try { 
val x = "throw" #&& "ls" ! 
} catch { 
case x => println("caught") 
} 

Chỉ cần ghi lại ngoại lệ cho bảng điều khiển, hơi khó hiểu khi bạn nhìn thấy nó trong REPL, nhưng nó không bị lỗi.

+0

Đúng, chương trình của tôi không gặp sự cố. Nó chỉ là stacktrace được std lỗi cũng trong một chương trình bình thường chạy, không chỉ là REPL. Nó làm tôi bối rối. –

Các vấn đề liên quan