{"action":"created","issue":{"url":"https://api.github.com/repos/eslint/eslint/issues/3099","labels_url":"https://api.github.com/repos/eslint/eslint/issues/3099/labels{/name}","comments_url":"https://api.github.com/repos/eslint/eslint/issues/3099/comments","events_url":"https://api.github.com/repos/eslint/eslint/issues/3099/events","html_url":"https://github.com/eslint/eslint/issues/3099","id":96184700,"number":3099,"title":"`no-throw-literal` does not catch concatenated exception messages","user":{"login":"feross","id":121766,"avatar_url":"https://avatars.githubusercontent.com/u/121766?v=3","gravatar_id":"","url":"https://api.github.com/users/feross","html_url":"https://github.com/feross","followers_url":"https://api.github.com/users/feross/followers","following_url":"https://api.github.com/users/feross/following{/other_user}","gists_url":"https://api.github.com/users/feross/gists{/gist_id}","starred_url":"https://api.github.com/users/feross/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/feross/subscriptions","organizations_url":"https://api.github.com/users/feross/orgs","repos_url":"https://api.github.com/users/feross/repos","events_url":"https://api.github.com/users/feross/events{/privacy}","received_events_url":"https://api.github.com/users/feross/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/eslint/eslint/labels/accepted","name":"accepted","color":"0052cc"},{"url":"https://api.github.com/repos/eslint/eslint/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/eslint/eslint/labels/rule","name":"rule","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-07-20T23:09:18Z","updated_at":"2015-07-22T02:23:51Z","closed_at":null,"body":"Using eslint `master`, and the following code:\r\n\r\n```\r\nthrow 'a' + 'b'\r\n```\r\n\r\nand the following rule:\r\n\r\n```\r\n\"no-throw-literal\": 2\r\n```\r\n\r\nI expect an error, but get none."},"comment":{"url":"https://api.github.com/repos/eslint/eslint/issues/comments/123537148","html_url":"https://github.com/eslint/eslint/issues/3099#issuecomment-123537148","issue_url":"https://api.github.com/repos/eslint/eslint/issues/3099","id":123537148,"user":{"login":"mysticatea","id":1937871,"avatar_url":"https://avatars.githubusercontent.com/u/1937871?v=3","gravatar_id":"","url":"https://api.github.com/users/mysticatea","html_url":"https://github.com/mysticatea","followers_url":"https://api.github.com/users/mysticatea/followers","following_url":"https://api.github.com/users/mysticatea/following{/other_user}","gists_url":"https://api.github.com/users/mysticatea/gists{/gist_id}","starred_url":"https://api.github.com/users/mysticatea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mysticatea/subscriptions","organizations_url":"https://api.github.com/users/mysticatea/orgs","repos_url":"https://api.github.com/users/mysticatea/repos","events_url":"https://api.github.com/users/mysticatea/events{/privacy}","received_events_url":"https://api.github.com/users/mysticatea/received_events","type":"User","site_admin":false},"created_at":"2015-07-22T02:23:51Z","updated_at":"2015-07-22T02:23:51Z","body":"Yes, I guess this rule should catch below:\r\n\r\n- `ArrayExpression` (an array literal)\r\n- `FunctionExpression` (a function literal)\r\n- `ArrowFunctionExpression`\r\n- `ClassExpression` (a class literal)\r\n- `TemplateElement` (a string literal)\r\n- `UnaryExpression` (converted implicitly to boolean, number, string, or undefined)\r\n- `BinaryExpression` (converted implicitly to boolean, number, or string)\r\n- `UpdateExpression` (converted implicitly to number)\r\n\r\nAnd should catch partially below:\r\n\r\n- `SequenceExpression` - checks its last element of `expressions` recursively.\r\n- `LogicalExpression` - checks both `left` and `right` recursively.\r\n- `ConditionalExpression` - checks both `alternate` and `consequent` recursively.\r\n\r\nHowever, this probably be the overspec :)\r\n"}}