web-dev-qa-db-ja.com

ダーツのカスタム例外

このコードは、Dartでカスタム例外がどのように機能するかをテストするために作成しました。

希望する出力が得られません。誰かがそれを処理する方法を説明してもらえますか?

void main() 
{   
  try
  {
    throwException();
  }
  on customException
  {
    print("custom exception is been obtained");
  }

}

throwException()
{
  throw new customException('This is my first custom exception');
}
27
Vickyonit

A Tour of the Dart Language の例外部分を見ることができます。

次のコードは期待どおりに機能します(custom exception is been obtainedがコンソールに表示されます):

class CustomException implements Exception {
  String cause;
  CustomException(this.cause);
}

void main() {
  try {
    throwException();
  } on CustomException {
    print("custom exception is been obtained");
  }
}

throwException() {
  throw new CustomException('This is my first custom exception');
}
43

Exceptionのタイプ(およびタイプ処理)を気にしない場合は、Exceptionクラスは必要ありません。このような例外を発生させるだけです:

throw ("This is my first general exception");
5
Mehdico