throw new
ステートメント中に例外名内の変数を使用して例外をスローするにはどうすればよいですか?
1 つの変数の長さがゼロかどうかに応じてスローしようとしている例外のリストがあります。たとえば、例外の名前には変数名が含まれます。
作品
if (X.length === 0)
{
throw new NoXException();
}
if (Y.length === 0)
{
throw new NoYException();
}
if (Z.length === 0)
{
throw new NoZException();
}
動作しません
var X = 'Oh';
var Y = 'Hai';
var Z = '';
// Contains "NoZException"
var ex = "No" + ((X.length != 0) ? ((Y.length != 0) ? 'Z' : 'Y') : 'X') + "Exception";
// Throwing ex gives an error
throw new ex();