[JavaScript] URI malformed / malformed URI sequence エラーの雑な対応方法
JavaScript で URI malformed / malformed URI sequence エラーの雑な対応方法をご紹介します。
 
メッセージ
URIError: malformed URI sequence (Firefox) URIError: URI malformed (Chrome)エラータイプ
URIError何がうまくいかなかったのか?
URI エンコードかデコードが成功しませんでした。decodeURI か encodeURI、encodeURIComponent、decodeURIComponent 関数の引数が無効のため、関数は適切にエンコード、またはデコードできませんでした。
try…catch 文で雑に処理します。
// encode 済みの URL パラメータを decode する
decodeURIParams(encodedURIParams) {
  try {
    return decodeURIComponent(encodedURIParams);
  } catch (err) {
    return ''; 
  }
}
以上、URI malformed にたまに遭遇してしまう現場からお送りしました。