Neredeyse hiçbir şey:
package scala {
final class MatchError(obj: Any) extends RuntimeException
final class UninitializedError extends RuntimeException("uninitialized value")
final case class UninitializedFieldError (msg: String) extends RuntimeException(msg)
package util.regex {
class SyntaxError(e: String) extends RuntimeException(e)
}
package xml {
class BrokenException() extends java.lang.Exception
case class MalformedAttributeException(msg: String) extends RuntimeException(msg)
package dtd {
case class ValidationException(e: String) extends Exception(e)
}
package include {
class CircularIncludeException(message: String) extends XIncludeException
class UnavailableResourceException(message: String) extends XIncludeException(message)
class XIncludeException(message: String) extends Exception(message)
}
package parsing {
case class FatalError(msg: String) extends java.lang.RuntimeException(msg)
}
}
}
dinlenme hemen hemen her yerini kapsama Java, geliyor. Bu Scala yöntemlerinin diğer platformlara ne attığını soruyor, değil mi?
Bu, kendi özel İstisnalarınızı ve hatta Java ile çalışıyorsa bile hataları atmanın ne kadar kolay olduğuna dair oldukça adil bir fikir verir. Bir nesnede sadece bir satır sınıfı yapın ve gerektiği şekilde kullanın. son sınıf MyException (arg: String), RuntimeException() öğesini ya da FatalError'da görüldüğü gibi java.lang.RuntimeException (msg) ile genişletir. Güzel bir Sobral. –