| class CustomException : Throwable { | |
| constructor(message: String?, cause: Throwable?) : super(message, cause) | |
| constructor(message: String?) : super(message, null) | |
| constructor(cause: Throwable?) : super(cause) | |
| constructor() : super() | |
| } | |
| fun box(): String { | |
| var t = CustomException("O", Throwable("K")) | |
| if (t.message != "O" || t.cause?.message != "K") return "fail1" | |
| t = CustomException(Throwable("OK")) | |
| if (t.message == null || t.message == "OK" || t.cause?.message != "OK") return "fail2" | |
| t = CustomException("OK") | |
| if (t.message != "OK" || t.cause != null) return "fail3" | |
| t = CustomException() | |
| if (t.message != null || t.cause != null) return "fail4" | |
| return "OK" | |
| } |